Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Anmeldeskript mit Darstellung im Anmeldedialog "Kurztext"

Frage Netzwerke Netzwerkgrundlagen

Mitglied: Teddy81

Teddy81 (Level 1) - Jetzt verbinden

24.05.2005, aktualisiert 25.05.2005, 11033 Aufrufe, 10 Kommentare

Anmeldeskript mit mehreren Aufgaben (mappen von Netzlaufwerken, trennen von Netzlaufwerken, verbinden von Netzdruckern mit Darstellung für den Benutzer im Anmeldedialog von Windows - Sinn: Laden bis zum Schluß der Einstellungen und GPO`s

Hallo,

Ich suche ein Anmeldeskript. Irgendwie funktioniert es bei mir nicht wie ich es haben will. Es soll wie folgt aussehen (Ich übersetze das zunächst mal hier mal auf Deutsch, mein Versuch ? siehe unten):

Zuerst meine Daten:

Windows 2003 Server Enterprise (Einrichtung einer Domäne, DNS, DHCP, FileServer), Computername: "Server"
14 Clients mit Windows XP Pro, Servergespeicherte Profile

Das will ich in ein Skript umwandeln:

Falls eine Anmeldung mit "Tester" vorgenommen wird dann
- Zeige folgenden Text im Windows Anmeldefenster: "Netzlaufwerke werden eingerichtet..."
Net use E:\Server\Tester$
Net Use F:\Server\Zentral$
Net Use G:\Server\blabla$
- Zeige folgenden Text im Windows Anmeldevorgang: "Netzdrucker werden bereitgestellt..."
Net Use Server\HP_Laser_Jet$
- Zeige folgenden Text im Windows Anmeldevorgang: "Erforderliche Einstellungen werden eingerichtet"
Kopiere Lokale Einstellungen von \\Server\Users$\Local\Tester in
C:\Dokumente und Einstellungen\Tester
- Zeige folgenden Text im Windows Anmeldevorgang: "Ich wünsche Ihnen ein angenehmes Arbeiten"
Ende
_______________________________________________________________________

Meine Vorstellung:

Rem {Anmeldescript}

Sub Main

If GetCurrentUser = "Tester" Then
Else
statusHandle&=OpenStatusWindow("Windows Anmeldung läuft. Bitte einen Moment Geduld...")
Pause
Rem Erstelle Netzlaufwerke für den Benutzer "Tester"
statusHandle&=OpenStatusWindow(GetLocalText "Netzlaufwerke werden eingerichtet... Einen Moment Geduld bitte?")
net use e: \\Server\Tester$ /persistent:no
net use f: \\Server\Zentral$ /persistent:no
net use h: \\Server\Eingegangen$ /persistent:no
Pause
Rem Erstelle zentralen Netzdrucker...
statusHandle&=OpenStatusWindow("Netzdrucker werden eingerichtet...")
%Server%\netlogon\con2prt /c "\\Server\HP_Laser_Jet
statusHandle&=OpenStatusWindow(GetLocalText "Ich wünsche ein angenehmes Arbeiten...")

Rem Schließe das Statusfenster zum Abschluß
CloseStatusWnd (statusHandle)
End If
End Sub

______________________________________________________________________

Was mache ich falsch? Das läuft nicht, auch so nicht, der bringt dann immer eine Fehlermeldung von wegen falscher Parameter. In meinem "Versuch" fehlt auch das kopieren der "lokalen Einstellungen" auf den Server (Abmeldung) und das zurückkopieren im Anmeldeskript auf die lokale Festplatte...

Habt ihr verstanden was ich möchte?

Wenn nein, dann fragt...

Ich wär vielleicht auch dankbar, wenn mir jemand ein Musterskript geben kann, was meine Wünsche beinhaltet.... damit ich es in die Tat umsetzen kann

Danke schon mal im Voraus...

Gruß
Stefan
Mitglied: Teddy81
24.05.2005 um 19:39 Uhr
Ach und in welchem Dateityp muss ich das abspeichern? cmd, vbs?
Bitte warten ..
Mitglied: gemini
24.05.2005 um 19:59 Uhr
Also genau das was du willst ist es nicht, aber es soll ja auch eigenes Denken gefördert werden

Ich habe das mal gebaut weil ich glaubte meine User umfassend informieren zu müssen.
Ist aber leider gar nicht so gut angekommen
Es macht nichts anderes als Netzlaufwerke und -drucker zu trennen und wieder zu verbinden.
Zum Schluß gibt es eine formtierte Auflistung der Ergebnisse als selbstschließendes Popup (10 s) aus.

Die Zeitsynchronisation ist eigentlich nicht erforderlich; die Clients synchronisieren automatisch die Zeit mit dem DC.

' BOF
' logon.vbs
'
Option Explicit
On Error Resume Next

Dim WSHNetwork, WSHShell, CRLF, objArgs, strMsg, Company, i, colDrives
Dim colPrinters, UserName, LogonSRV, Domain, nReturnCode, nSecondsToWait

CRLF = Chr(13) & Chr(10)
LogonSRV = "DerDomänencontroller"

Set WSHNetwork = Wscript.CreateObject("WScript.Network")
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set objArgs = Wscript.Arguments

' ----------------------------------------------------------
' Synchronisieren der Zeit mit dem Domänenkontoller
nReturnCode = wshShell.Run("net time \\" & LogonSRV & " /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 """ & LogonSRV & """ erfolgreich" & CRLF & CRLF
End If

' ----------------------------------------------------------
' Einrichten der Netzlaufwerke

Company = "Firmenname"
Domain = WSHNetwork.Userdomain
UserName = ""
Do While UserName = ""
  UserName = WSHNetwork.UserName
Loop

WSHNetwork.RemoveNetworkDrive "P:"
WSHNetwork.RemoveNetworkDrive "U:"

WSHNetwork.MapNetworkDrive "P:", "\\" & LogonSRV & "\share"
WSHNetwork.MapNetworkDrive "U:", "\\" & LogonSRV & "\home\" & Username

WSHNetwork.RemovePrinterConnection "Drucker1"

WSHNetwork.AddWindowsPrinterConnection "\\" & LogonSRV & "\Drucker1"
Set colDrives = WSHNetwork.EnumNetworkDrives
Set colPrinters = WSHNetwork.EnumPrinterConnections

' ----------------------------------------------------------
' Überschrift
' "UserDomain" & Chr(9) & "= " & Domain & _
strMsg = strMsg & CRLF & "Anmelde Ergebnisse" & CRLF & CRLF & _
  "Benutzername" & Chr(9) & "= " & UserName & CRLF & "Computername" & Chr(9) & "= " & _
  WSHNetwork.ComputerName & CRLF & "Domäne" & Chr(9) & Chr (9) & "= " & Domain & CRLF

' ----------------------------------------------------------
' Anzeigen der erfolgreich verbunden Laufwerke
If colDrives.Count = 0 Then
  strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF
Else
  strMsg = strMsg & CRLF & "Verbundene Netzlaufwerk(e):" & 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 verbunden Drucker
If colPrinters.Count = 0 Then
  strMsg = strMsg & CRLF & CRLF & "Kein Netzwerk-Drucker ist verbunden." & 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
' FormatDateTime formatiert das Datum als langes Datumsformat.
zeit = "Systemzeit: " & Chr(9) & FormatDateTime(Date, 1) & " - " & FormatDateTime(Time, 4)
End Function

WshShell.PopUp zeit & CRLF & CRLF & strMsg,10, " " & Username &"@" & Company, 64

Set WSHNetwork = Nothing
Set WSHShell = Nothing
Set objArgs = Nothing
Set colDrives = Nothing
Set colPrinters = Nothing
' EOF
Bitte warten ..
Mitglied: Teddy81
24.05.2005 um 20:51 Uhr
Irgendwie funktioniert das nicht! Naja muss ich wohl noch was rumtüfteln!
Bitte warten ..
Mitglied: gemini
24.05.2005 um 21:09 Uhr
Wo hakts denn? Zeile? Zeichen?
Ist natürlich etwas aus dem Zusammenhang gerissen
Bitte warten ..
Mitglied: Teddy81
24.05.2005 um 21:47 Uhr
Er hängt sich während der Anmeldung auf...

Schau:

' BOF
Option Explicit
On Error Resume Next

Dim WSHNetwork, WSHShell, CRLF, objArgs, strMsg, Company, i, colDrives
Dim colPrinters, UserName, LogonSRV, Domain, nReturnCode, nSecondsToWait

CRLF = Chr(13) & Chr(10)
LogonSRV = "DerDomänencontroller"

Set WSHNetwork = Wscript.CreateObject("WScript.Network")
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set objArgs = Wscript.Arguments

' ----------------------------------------------------------
' Synchronisieren der Zeit mit dem Domänenkontoller
nReturnCode = wshShell.Run("net time \\" & Home & " /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 """ & Home & """ erfolgreich" & CRLF & CRLF
End If

' ----------------------------------------------------------
' Einrichten der Netzlaufwerke

Company = "Trebeß"
Domain = Home.Tester
UserName = "Tester"
Do While UserName = "Tester"
Tester = Home.Tester
Loop

Home.RemoveNetworkDrive "P:"
Home.RemoveNetworkDrive "U:"

Home.MapNetworkDrive "P:", "\\" & Home & "\Zentral"
Home.MapNetworkDrive "U:", "\\" & Home & "\Musik$"

Home.RemovePrinterConnection "HP_Drucker"

Home.AddWindowsPrinterConnection "\\" & Home & "\HP_Drucker"
Set colDrives = Home.EnumNetworkDrives
Set colPrinters = Home.EnumPrinterConnections

' ----------------------------------------------------------
' Überschrift
' "Tester" & Chr(9) & "= " & Home & _
strMsg = strMsg & CRLF & "Anmelde Ergebnisse" & CRLF & CRLF & _
"Tester" & Chr(9) & "= " & Tester & CRLF & "Stefan" & Chr(9) & "= " & _
Home.Stefan & CRLF & "home.local" & Chr(9) & Chr (9) & "= " & Home.local & CRLF

' ----------------------------------------------------------
' Anzeigen der erfolgreich verbunden Laufwerke
If colDrives.Count = 0 Then
strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF
Else
strMsg = strMsg & CRLF & "Verbundene Netzlaufwerk(e):" & 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 verbunden Drucker
If colPrinters.Count = 0 Then
strMsg = strMsg & CRLF & CRLF & "Kein Netzwerk-Drucker ist verbunden." & 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
' FormatDateTime formatiert das Datum als langes Datumsformat.
zeit = "Systemzeit: " & Chr(9) & FormatDateTime(Date, 1) & " - " & FormatDateTime(Time, 4)
End Function

WshShell.PopUp zeit & CRLF & CRLF & strMsg,10, " " & Username &"@" & Company, 64

Set Home = Nothing
Set WSHShell = Nothing
Set objArgs = Nothing
Set colDrives = Nothing
Set colPrinters = Nothing
' EOF




Was hab ich falsch gemacht? Ist ein Testserver zunächst bis es läuft....
Bitte warten ..
Mitglied: gemini
24.05.2005 um 22:23 Uhr
Wenn du die Zeile 'On Error Resume Next' auskommentierst siehst du wo es kracht.
D.h. es kommt eine MessageBox die sagt, in welcher Zeile bei welchem Zeichen welcher Fehler aufgetreten ist.

Die Zeitsynchronisation würde ich auskommentieren (jeder Zeile ein ' voranstellen), da sie nicht benötigt wird und außerdem der User das Recht dazu braucht.

Manöverkritik:
- Heißt dein DC 'DerDomänencontroller'?
- Wo hast du das Objekt 'Home' generiert? Es existiert nicht, was nicht existiert kann man nicht verwenden.
- Die Variable 'Tester' ist nicht deklariert.

~~~~~~~~~~~~~~~~~~~~~~~~
Die einzigen Angaben, die du an dem Script hättest verändern müssen, wären
a) die Belegung der Variablen LogonSRV sofern dein DC nicht DerDomänencontroller heißt
b) die Bezeichnungen von 'share', 'home' und 'Drucker1' sowie der gemappten Laufwerksbuchstaben 'P:' und 'U:'sofern diese bei dir anders lauten
c) die Auskommentierung der 7 Zeilen zwischen nReturnCode und End If falls der User nicht das Recht zum Ändern der Systemzeit hat.
d) die Belegung der Variablen Company mit deinem Firmennamen. Das passt
~~~~~~~~~~~~~~~~~~~~~~~~

Ich habe es eben in einer Domäne nochmal ausprobiert, bei mir funktioniert es.
Bitte warten ..
Mitglied: Teddy81
25.05.2005 um 07:59 Uhr
Hi

"Also "DerDomänencontroller" hab ich erstetzt durch "home.local".

Domänencontroller = home.local
DNS Name = HOME
User = Tester

Werd ich nachher mal auskomentieren wenn ich Zuhause bin.

Danke

Gruß
Stefan
Bitte warten ..
Mitglied: gemini
25.05.2005 um 08:11 Uhr
"DerDomänencontroller" hab
ich erstetzt durch "home.local".
Klingt mir eher nach einem Domänennamen.
Wenn der DC z.B. SRV01 heißt, wäre der FQDN (Fully aqualified domain name) SRV01.home.local
Die Angabe der Domain ist nicht nötig, da diese mit 'WSHNetwork.Userdomain' abgefragt wird.
Bitte warten ..
Mitglied: Teddy81
25.05.2005 um 09:18 Uhr
Ah stimmt Du hast recht
Bitte warten ..
Mitglied: Teddy81
25.05.2005 um 16:23 Uhr
Yuhuuuuuuu!!!!!!!! Es geht Naja zwar nicht so wie ich es mir vorgestellt hab aber es geht. Vielleicht hat ja noch jemand eine Lösung wie man den ganzen Ablauf in den Windows Anmelde - Vorgang Fenster bekommt...

Also in das Fenster wo steht Benutzereinstellungen werden geladen... usw...

Mit den Lokalen einstellungen hab ich einfach den Pfad in den Anwendungsdaten geändert und hab ihn "Einstellungen" genannt... Und der Ordner Anwenungsdaten wird ja bei einem Servergespeicherten Profil gesichert...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell Hashtable to Übersichtliche Darstellung (2)

Frage von Marabunta zum Thema Batch & Shell ...

Microsoft Office
Darstellung einer Produktionsmenge in einer Excel Übersicht! (4)

Frage von Magnus32x1 zum Thema Microsoft Office ...

Windows Userverwaltung
gelöst Anmeldeskript fragt für das mappen nach einem User und Pw unterdrücken (9)

Frage von M.Marz zum Thema Windows Userverwaltung ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...