Jump to content

Login-Skript etwas ansprechender gestalten!


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Ich habe für jeden User ein Skript auf dem Server hinterlegt, das ihn beim Login mit einigen Server-Shares verbindet ......

 

=============================

@echo off

echo ==========================

echo Laufwerke werden verbunden

echo ==========================

attrib +h +s desktop.ini /s

net start

net use P: /home /yes

net use M: \\servername\share1

net use N: \\servername\share2

net use X: \\servername\share3

net use T: \\servername\share4

net time \\servername /set /yes

=============================

 

Das Skript funktioniert einwandfrei, aber ich würde es gerne etwas aufpeppen bzgl. der Statusinformationen. Das einzige was ich sehe ist ""Laufwerke werden verbunden".

 

Mir schwebt vor, dass folgende Meldungen noch erscheinen:

 

1) Logon am Server "hier steht sein Name" in der Domäne "Hier steht deren Name" .... vielleicht noch schön unterstrichen :rolleyes:

 

2a) Verbindung mit Share "XYZ" wird hergestellt .....

 

2b) Verbindung mit Share "XYZ" erfolgreich hergestellt .....

 

Beim Abmelden sollten dann diese Laufwerke ebenfalls getrennt werden, mit einer entsprechenden Meldung

 

3a) Verbindung mit Share "XYZ" wird getrennt .....

 

3b) Verbindung mit Share "XYZ" erfolgreich getrennt.

 

Beim An- und Abmelden würde ich gerne noch eine Meldung haben, nach der die Clients die Profildaten vom Server holen bzw. auf diesen wieder zurückspeichern ....... z.B. Benutzerdaten werden geholt bzw. gespeichert.

 

Wäre toll, wenn mir da jemand ein wenig Unterstützung geben könnte.

 

Allerbesten Dank. :)

Link zu diesem Kommentar

hi also ich kenn mich

mit scripten echt nicht so aus, aber wenn man logisch denkt (wenn ich logisch denke :D )

probiers mal so keine Ahnung ob das funkt !

 

@echo off

echo ==========================

echo Laufwerke werden verbunden

echo ==========================

attrib +h +s desktop.ini /s

net start

 

echo P: wir hergestellt...

net use P: /home /yes

echo P: wurde hergestellt...

 

net use M: \\servername\share1

net use N: \\servername\share2

net use X: \\servername\share3

net use T: \\servername\share4

net time \\servername /set /yes

Link zu diesem Kommentar
@echo off
color 70
title %username%
c:
cd\
cls

set DC=1fs-lubeca

set local=%computername:~1,3%

echo.
echo Sehr geehrte Dame, sehr geehrter Herr,
echo.
echo Sie haben sich als %username% an der Domain %userdomain% angemeldet.
echo.
echo Der Name Ihrer Workstation ist: %computername% in Raum %local%
echo.
echo Ihr Logonserver ist: %logonserver%
echo.

net use * /del /y
::map user & groups
rem echo on
::map Division
for /f "tokens=2 delims=," %%a in ('%logonserver%\netlogon\dsquery user -name %username%') do set ou=%%a
set group=%ou:~3%


set FS=1FS-LUBECA
if exist \\%FS%\%group%\%username%Home net use P: \\%FS%\%group%\%username%Home /persistent:no 
if exist \\%FS%\%group% net use G: \\%FS%\%group%
if exist \\%FS%\BAFSalt$ net use U: \\%FS%\BAFSalt$ /persistent:no 
rem pause

\\%dc%\netlogon\ifmember.exe NLL

if %errorlevel% equ 1 (
if exist \\%FS%\O2k net use x: \\%FS%\O2k  /persistent:no
if exist \\%FS%\Download net use q: \\%FS%\Download /persistent:no
if exist \\%FS%\Clipart net use r: \\%FS%\Clipart /persistent:no
)

\\%dc%\netlogon\ifmember.exe Doz-BAFS
echo %errorlevel%
if %errorlevel% equ 1 (
net use j: \\%FS%\BA203
net use k: \\%FS%\BA203R
net use l: \\%FS%\BA204
net use m: \\%FS%\BA204R
net use n: \\%FS%\FS203
net use o: \\%FS%\FS204
if exist \\%FS%\Dozenten\%username%Home net use P: \\%FS%\Dozenten\%username%Home /persistent:no 
)

\\%dc%\netlogon\ifmember.exe BAFS
echo %errorlevel%
if %errorlevel% equ 1 (
if exist \\%FS%\Beurteilungen net use R: \\%FS%\Beurteilungen /persistent:no
)

::show map
net use 
rem pause

for /f %%e in ('time /t') do set time=%%e
set separator=%time:~2,1%
if %separator%==: (
 set hour=%time:~0,2%
 set minute=%time:~3,2%
 ) else (
 set hour=%time:~0,1%
 set minute=%time:~2,2%)

set time=%hour%%minute%

for /f "tokens=1,2" %%e in ('date /t') do set date=%%f
set day=%date:~0,2%
set month=%date:~3,2%
set year=%date:~6,4%
set date=%day%%month%%year%
rem pause
set connect=%date%%time%%username%%computername%.txt
rem echo %connect%
net use > %connect%
echo.
rem pause


::Virenschutzkonfiguration auslesen

if exist "c:\programme\McAfee\McAfee VirusScan\SDATPACK.LST" set SDATPACK.LST="c:\programme\McAfee\McAfee VirusScan\SDATPACK.LST"
if exist "c:\programme\McAfee\McAfeeVirusScan\SDATPACK.LST" set SDATPACK.LST="c:\programme\McAfee\McAfeeVirusScan\SDATPACK.LST"

if exist %SDATPACK.LST%  for /F "tokens=2" %%e in ('findstr "Engine" %SDATPACK.LST%') do set engine=%%e
if exist %SDATPACK.LST%  for /F "tokens=4" %%e in ('findstr "AVPARAM" %SDATPACK.LST%') do set avparam=%%e
if exist %SDATPACK.LST%  for /F "tokens=4" %%e in ('findstr "MCSCAN" %SDATPACK.LST%') do set mcscan=%%e
if exist %SDATPACK.LST%  for /F "tokens=2" %%e in ('findstr "DAT.Files" %SDATPACK.LST%') do set dat=%%e
if exist %SDATPACK.LST%  for /F "tokens=4" %%e in ('findstr "CLEAN" %SDATPACK.LST%') do set clean=%%e

if not exist "c:\programme\McAfee\*" set dat=0000

set ActivityLogPath="c:\programme\McAfee\McAfee VirusScan\Activity Log\VScan.Log"
if exist %ActivityLogPath% (
for /F "skip=5 tokens=1,1" %%a in ('dir %ActivityLogPath%') do (set activity=%%a & goto out)
:out
set lastscan=%activity:~0,10%
)
::Virenschutzkonfiguration an Server senden
set NAIUpdate=%computername%.%dat%
echo %engine% %avparam% %dat% %clean% %lastscan% > \\%dc%\AntiVirusUpdateProtokolle\%naiupdate%.txt

::Virenschutzkonfiguration anzeigen
echo.
echo Die Virenschutzkonfiguration ist:
echo Engine: %engine% vom %avparam%
echo Scanner and Shield: %mcscan%
echo Virusdefinition: %dat% vom %clean%
if exist %ActivityLogPath% echo Letzter Scan: %lastscan%

Link zu diesem Kommentar

Hi

 

habe hier im Board ein paar verschiendene gefunden und eins für meine Bedürfnisse erstellt, vielleicht gefällts Dir.

 

logon.vbs 1.teil

 

Option Explicit

On Error Resume Next

 

Dim WSHNetwork, WSHShell, CRLF, objArgs, strMsg, strCompany, i, colDrives

Dim colPrinters, strUserName, strLogonSRV, strPrintSRV, strFileSRV, strDomain

Dim nReturnCode, nSecondsToWait, objMember, objGroup

 

'---------- Muss angepasst werden------------

CRLF = Chr(13) & Chr(10)

strLogonSRV = "01-rhmuc"

strPrintSRV = "01-rhmuc"

strFileSRV = "01-rhmuc"

 

Set WSHNetwork = Wscript.CreateObject("WScript.Network")

Set WSHShell = WScript.CreateObject("WScript.Shell")

Set objArgs = Wscript.Arguments

 

' ----------------------------------------------------------

' Synchronisieren der Zeit mit dem Domänencontoller

nReturnCode = wshShell.Run("net time \\" & strLogonSRV & " /set /yes", 0, TRUE)

If (nReturnCode <> 0) Then

MsgBox "Es war nicht möglich die lokale Uhrzeit zu synchronisieren." & vbNewLine &_

"Bitte melden Sie sich beim System-Administrator.",48,"Logon Script Fehler"

Else

strMsg = "Zeitsynchronisation mit """ & strLogonSRV & """ erfolgreich" & CRLF & CRLF

End If

 

' ----------------------------------------------------------

' Einrichten der Netzlaufwerke und Netzwerkdrucker

' ---------- Muss angepasst werden------------

strCompany = "Firma Test "

strDomain = WSHNetwork.UserDomain

strUserName = ""

On Error Resume Next

Do While strUserName = ""

strUserName = WSHNetwork.UserName

loop

 

' ----------------------------------------------------------

' Fügt den Printer hinzu und Setzt ihn als Standard optional nach Gruppenzugehörigkeit

' ---------- Muss angepasst werden------------

WSHNetwork.RemovePrinterConnection "\\" & strPrintSRV & "\HPLaserJet5"

'If IsMember("MIPDRUCKER") Then '--------- Drucker nach Gruppenzugehörigkeit zuordnen, falls notwendig (AD Gruppe hinzufügen)

WSHNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\HPLaserJet5"

'WSHNetwork.SetDefaultPrinter "\\" & strPrintSRV & "\HPLaserJet5" ' ------ setzt den Drucker auf Standarddrucker!

'end if

 

' ---------- Muss angepasst werden------------

' Fügt das Persönliche Laufwerk des Users hinzu und entfernt es vorher!

WSHNetwork.RemoveNetworkDrive "M:"

WSHNetwork.MapNetworkDrive "M:", "\\" & strFileSRV & "\home$\" & strUserName

 

' ----------------------------------------------------------

' Fügt das Applikationslaufwerk hinzu und entfernt es vorher!

WSHNetwork.RemoveNetworkDrive "P:"

WSHNetwork.MapNetworkDrive "P:", "\\" & strFileSRV & "\test$"

 

' ----------------------------------------------------------

' Fügt das Firmenlaufwerk hinzu und entfernt es vorher!

WSHNetwork.RemoveNetworkDrive "N:"

WSHNetwork.MapNetworkDrive "N:", "\\" & strFileSRV & "\test1$"

 

' ----------------------------------------------------------

' Fügt Laufwerke nach Gruppenzugehörigkeit aus dem AD hinzu!

' Wenn Notwendig Laufwerk kopieren und Buchstaben und Ordner anpassen!

Link zu diesem Kommentar

teil2 zum script

 

 

WSHNetwork.RemoveNetworkDrive "O:"

If IsMember("MIPTEST") or IsMember("Domänen-Admins") Then

WSHNetwork.MapNetworkDrive "O:", "\\" & strFileSRV & "\test3$"

End If

 

WSHNetwork.RemoveNetworkDrive "S:"

If IsMember("MIPTEST") or IsMember("Domänen-Admins") Then

WSHNetwork.MapNetworkDrive "S:", "\\" & strFileSRV & "\test4$"

End If

 

WSHNetwork.RemoveNetworkDrive "T:"

If IsMember("MIPTEST") or IsMember("Domänen-Admins") Then

WSHNetwork.MapNetworkDrive "T:", "\\" & strFileSRV & "\test5$"

End If

 

WSHNetwork.RemoveNetworkDrive "U:"

If IsMember("MIPTEST") or IsMember("Domänen-Admins") Then

WSHNetwork.MapNetworkDrive "U:", "\\" & strFileSRV & "\test6$"

End If

 

WSHNetwork.RemoveNetworkDrive "W:"

If IsMember("MIPTEST") or IsMember("Domänen-Admins") Then

WSHNetwork.MapNetworkDrive "W:", "\\" & strFileSRV & "\test7$"

End If

 

WSHNetwork.RemoveNetworkDrive "X:"

If IsMember("MIPTEST") or IsMember("Domänen-Admins") Then

WSHNetwork.MapNetworkDrive "X:", "\\" & strFileSRV & "\test8$"

End If

 

Function IsMember(strGroup)

Dim objMember, objGroup

On Error Resume Next

Set objGroup = GetObject("WinNT://" & strDomain & "/" & strGroup & ",group")

If Err.Number = 0 Then

IsMember = objGroup.IsMember("WinNT://" & strDomain & "/" & strUserName)

End If

On Error Goto 0

End Function

 

Set colDrives = WSHNetwork.EnumNetworkDrives

Set colPrinters = WSHNetwork.EnumPrinterConnections

 

' ----------------------------------------------------------

' ------------- Überschrift

strMsg = strMsg & CRLF & "Sie sind erfolgreich am System angemeldet worden mit folgenden Einstellungen:" & CRLF & CRLF & _

"Benutzername" & Chr(9) & "= " & strUserName & CRLF & "Computername" & Chr(9) & "= " & _

WSHNetwork.ComputerName & CRLF & "Domäne" & Chr(9) & Chr (9) & "= " & strDomain & CRLF

 

 

' ----------------------------------------------------------

' ------------- Anzeigen der erfolgreich verbunden Laufwerke

If colDrives.Count = 0 Then

strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF

Else

strMsg = strMsg & CRLF & "Verbundene Netzlaufwerke:" & CRLF

For i = 0 To colDrives.Count - 1 Step 2

strMsg = strMsg & CRLF & colDrives(i) & Chr(9) & colDrives(i + 1)

Next

End If

 

' ----------------------------------------------------------

' ------------- Anzeigen der erfolgreich verbundenen Drucker

If colPrinters.Count = 0 Then

strMsg = strMsg & CRLF & CRLF & "Kein Netzwerk-Drucker oder Lokaler Drucker sind vorhanden." & CRLF

Else

strMsg = strMsg & CRLF & CRLF & "Verbundene Netzwerk-Drucker:" & CRLF

For i = 0 To colPrinters.Count - 1 Step 2

strMsg = strMsg & CRLF & colPrinters(i) & Chr(9) & colPrinters(i + 1)

Next

End If

 

Function zeit

zeit = "Systemzeit: " & Chr(9) & FormatDateTime(Date, 1) & " - " & FormatDateTime(Time, 4)

End Function

 

' ------------- Zeit zum schliesen des Popup die Zeit hinter strMsg einstellen z.b. 60 bedeutet 60 Sekunden.

WshShell.PopUp zeit & CRLF & CRLF & strMsg,10," " & strUserName & " von " & strCompany,64

 

Set WSHNetwork = Nothing

Set WSHShell = Nothing

Set objArgs = Nothing

Set colDrives = Nothing

Set colPrinters = Nothing

Link zu diesem Kommentar

Hi Gulliver,

 

im Prinzip ist es egal ob man .bat oder .vbs als logonscript hernimmst.

 

Wie oben erwähnt schaut es meiner Meinung nach einfach anspruchsvoller aus wenn es gestartet wird.

 

Du brauchst lediglich die Servernamen und die Freigabenamen anpassen schon läuft das Ding und Du siehst was ich meine.

 

Hat halt auch den Vorteil dass Du nur ein Script benötigst für alle User da die Laufwerke nach Gruppenzugehörigkeit (kannste auch mit den druckern machen )gemappt werden.

 

z.b. du erstellst in Deiner OU eine Sicherheitsgruppe MIPTEST, dieser fügst Du als Mitglied Musteruser hinzu und schon bekommt er sein Netzlaufwerk.

 

Achtung: Beim homeordner muss der Ordner wie der Anmeldename angelegt sein.

z.b. Nachnahme-Vornahme

 

Viel Spass damit schaut echt klasse aus

 

bei Fragen einfach melden

 

Gruss Rainer

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...