Anmeldenachricht nach Login unter Win2k
Hi ich hab da mal ne frage ich kann doch unter Win2k eine wilkommens Mesages einstellen, aber die ist dann für alle gleich aber ich will das die für jeden Benutzer anders ist.
Da muss es doch ne Möglichkeit geben oder??
Vllt. gibt es ja sogar ne möglich keit das ich das in die CMD packe die schon am Anfangstartet um Die Homelaufwerke anzumelden. ??
Also für Vorschläge wäre ich sehr dankbar!!!
Da muss es doch ne Möglichkeit geben oder??
Vllt. gibt es ja sogar ne möglich keit das ich das in die CMD packe die schon am Anfangstartet um Die Homelaufwerke anzumelden. ??
Also für Vorschläge wäre ich sehr dankbar!!!
Please also mark the comments that contributed to the solution of the article
Content-Key: 3253
Url: https://administrator.de/contentid/3253
Printed on: April 27, 2024 at 16:04 o'clock
18 Comments
Latest comment
Hallo miteinender!
Wenn ich das richtig verstanden habe, dann braucht ihr Kixstart, welches ihr hier fidet. Da liest man sich ziemlich schnell rein und es arbeitet mit vielen systemvariablen (User, Gruppen usw.)
http://www.kixtart.org
Gruss Sven
PS: Wenn ihr was anderes sucht, dann noch nen kurzen Post hier.
Wenn ich das richtig verstanden habe, dann braucht ihr Kixstart, welches ihr hier fidet. Da liest man sich ziemlich schnell rein und es arbeitet mit vielen systemvariablen (User, Gruppen usw.)
http://www.kixtart.org
Gruss Sven
PS: Wenn ihr was anderes sucht, dann noch nen kurzen Post hier.
Hallo,
welche Meldung sollen die Anwender bekommen und für wie viele Anwender soll das gemacht werden? Bekommt jeder Anwender eine eigene Begrüßung oder sollen bestimmte Gruppen von Usern eine einheitliche Willkommens-Meldung sehen?
Falls es nicht zu viele User sind, lässt sich das ganze auch mit einer Batchdatei machen.
Gruß
Michael
welche Meldung sollen die Anwender bekommen und für wie viele Anwender soll das gemacht werden? Bekommt jeder Anwender eine eigene Begrüßung oder sollen bestimmte Gruppen von Usern eine einheitliche Willkommens-Meldung sehen?
Falls es nicht zu viele User sind, lässt sich das ganze auch mit einer Batchdatei machen.
Gruß
Michael
Die gute alte VBS Startdatei einfach in die Gruppenrichtline mit einbinden, normalerweise nehme ich die her um Laufwerke zu verbinden, aber dafür gehts auch. Natürlich geht das auch mit Gruppen, aber du hast ja was von Benutzer geschrieben:
Set WSHShell = WScript.CreateObject("WScript.Shell")
Key = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
user = WshShell.RegRead( Key & "\DefaultUserName" )
' Allgemein
' hier können allgemeine Dinge definiert werden, beispielsweise allgemeine Aufrufe, Messages, Netzverbindungen etc
' BeispielWSHShell.run "net use s: \\firma\dfs\files /persistent:no"
' Userspezifisch:
' Hier können pro Benutzer oder Gruppe, je nachdem wie man das oben definiert, individuelle Aktionen durchgeführt werden:
select case user
case "maier"
WSHShell.run "net use m: \\firma\dfs\private\mayer /persistent:no"
msgbox "blablabal"
case "ulrich"
WSHShell.run "net use m: \\nesconn\dfs\private\ulrich /persistent:no"
msgbox "blblaba"
end select
Set WSHShell = WScript.CreateObject("WScript.Shell")
Key = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
user = WshShell.RegRead( Key & "\DefaultUserName" )
' Allgemein
' hier können allgemeine Dinge definiert werden, beispielsweise allgemeine Aufrufe, Messages, Netzverbindungen etc
' BeispielWSHShell.run "net use s: \\firma\dfs\files /persistent:no"
' Userspezifisch:
' Hier können pro Benutzer oder Gruppe, je nachdem wie man das oben definiert, individuelle Aktionen durchgeführt werden:
select case user
case "maier"
WSHShell.run "net use m: \\firma\dfs\private\mayer /persistent:no"
msgbox "blablabal"
case "ulrich"
WSHShell.run "net use m: \\nesconn\dfs\private\ulrich /persistent:no"
msgbox "blblaba"
end select
@sky:
du mußt hier schon unterscheiden, das was du da hsat, ist eine Batchdatei, daß, was ich dir bereit gestellt habe ist eine VBS Skript Datei. Aber du mußt nur das ganze an den betreffenden Stellen für dich abändern, das ist schon alles.
du mußt hier schon unterscheiden, das was du da hsat, ist eine Batchdatei, daß, was ich dir bereit gestellt habe ist eine VBS Skript Datei. Aber du mußt nur das ganze an den betreffenden Stellen für dich abändern, das ist schon alles.
Hallo,
ich denke das du dir von Christian Menhofer etwas beim umstellen deiner Batch-Dateien auf VBS helfen lassen solltest. Das dürfte der bessere und sauberere Weg sein. Falls du es trotzdem mit einer CMD-Datei machen willst. könnte man das mit einer for-Schleife machen.
Du könntest eine Textdatei anlegen, in welche du die Anmeldenamen und eine passende Begrüßung schreibst. Im Anmeldescript nimmst du dann eine for-Schleife um die Datei nach dem jeweiligen Anmeldenamen zu durchsuchen. Wird dieser in deiner separaten Textdatei gefunden, wird als Begrüßung der dahinterstehende Text ausgegeben. Nach dem gleichen Prinzip kannsz du es auch machen, wenn bestimmte Gruppen eine jeweils passende Anmeldung bekommen sollen. Dann legst du einfach mehrere Textdateien an, und schreibst in jede Gruppe nur die Anmeldenamen der Mitglieder.
Ich muss allerding dazu sagen, dass dieser Vorschlag für eine Produktivumgebung nicht sehr geeignet ist, da er aufwendig per Hand auf dem laufenden gehalten werden muss.
Warum hat jeder Benutzer seine eigene CMD-Datei? Wäre es nicht besser und einfacher, wenn du mit einer Batchdatei arbeiten würdest und in dieser Datei einfach Variablen benutzt? Falls du jedoch jedem User seine eigene CMD lassen willst, reicht der Vorschlag von n4426 vollkommend aus. Evtl. könntest du die Begrüßung auch mit dem echo-Befehl im Anmeldefenster erscheinen lassen und mit sleep (aus dem Resourcekit) eine Pause einbauen, damit der User auch Zeit hat diese zu lesen.
Gruß
Michael
ich denke das du dir von Christian Menhofer etwas beim umstellen deiner Batch-Dateien auf VBS helfen lassen solltest. Das dürfte der bessere und sauberere Weg sein. Falls du es trotzdem mit einer CMD-Datei machen willst. könnte man das mit einer for-Schleife machen.
Du könntest eine Textdatei anlegen, in welche du die Anmeldenamen und eine passende Begrüßung schreibst. Im Anmeldescript nimmst du dann eine for-Schleife um die Datei nach dem jeweiligen Anmeldenamen zu durchsuchen. Wird dieser in deiner separaten Textdatei gefunden, wird als Begrüßung der dahinterstehende Text ausgegeben. Nach dem gleichen Prinzip kannsz du es auch machen, wenn bestimmte Gruppen eine jeweils passende Anmeldung bekommen sollen. Dann legst du einfach mehrere Textdateien an, und schreibst in jede Gruppe nur die Anmeldenamen der Mitglieder.
Ich muss allerding dazu sagen, dass dieser Vorschlag für eine Produktivumgebung nicht sehr geeignet ist, da er aufwendig per Hand auf dem laufenden gehalten werden muss.
Warum hat jeder Benutzer seine eigene CMD-Datei? Wäre es nicht besser und einfacher, wenn du mit einer Batchdatei arbeiten würdest und in dieser Datei einfach Variablen benutzt? Falls du jedoch jedem User seine eigene CMD lassen willst, reicht der Vorschlag von n4426 vollkommend aus. Evtl. könntest du die Begrüßung auch mit dem echo-Befehl im Anmeldefenster erscheinen lassen und mit sleep (aus dem Resourcekit) eine Pause einbauen, damit der User auch Zeit hat diese zu lesen.
Gruß
Michael
@sky:
kannst du mal hier eine Batchdatei reinkopieren, wie die für einen Benutzer aussieht ?
Welche Laufwerke werden eventuell für jeden Benutzer verbunden ?
dann zeige dir mal an einem Beispiel wie das gehen soll....
kannst du mal hier eine Batchdatei reinkopieren, wie die für einen Benutzer aussieht ?
Welche Laufwerke werden eventuell für jeden Benutzer verbunden ?
dann zeige dir mal an einem Beispiel wie das gehen soll....
Skript für die Ausführung erzwingen durch:
Über die Gruppenrichtlinien:
Benutzerkonfiguration
Administrative Vorlagen
Anmeldung/Abmeldung
Dieses PRogramm bei der Benutzeranmeldung ausführen
Programmpfad eintragen als UNC Pfad
über die Eigenschaften des Benutzers
Reiter Profil
Anmeldeskript
Pfad eintragen
Anmerkung: Wenn du das ganze über den zweiten WEg machst, kann es sein, daß du dennoch eine Gruppenrichtlinie für deine Benutzer erstellen mußt um die Nachricht anzuzeigen. Im oben genannten Pfad gibt es auch eine Richtlinie "Anmeldeskript sichtbar ausführen".
In beiden Fällen über eine versteckte Freigabe Beispielsweise (login$), welche nur für Admin alle Rechte beinhaltet und ansonsten nur leserechte hat. Auch die Sicherheitseinstellungen sollten so gesetzt werden.
*
In die Freigabe erstellst du eine Datei, die nennst du beispielsweise login.vbs. Wichtig ist die Endung vbs. Im Zweifelsfall das Ausblenden der Endung deaktivieren, da es sonst sein kann, daß deine Dtei login.vbs.txt heißt. Das erkennst du aber am Symbol. Textdateien und Skriptdateien schauen unterschiedlich aus.
Im Zweifelsfall je nach Windowsversion (NT, 2000) Skriptinghost installieren oder aktualisieren. Unter 2000 muß es nicht unbedingt gemacht werden.
*
Dann öffnest du die Datei login.vbs:
Diese muß folgendermaßen aufgebaut sein:
' ##### <= dies nicht mit einfügen
' blalba
' ##### <= dient für dich jetzt hier zur erklärung
' #####
' Diese drei Zeilen lesen den Benutzernamen ein,
' sollten es sehr viele sein und manche gleiche Benutzertexte haben,
' dann ist es wohl sinnvoller dies über Gruppen zu machen
' #####
Set WSHShell = WScript.CreateObject("WScript.Shell")
Key = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
user = WshShell.RegRead( Key & "\DefaultUserName" )
' #####
' Hier werden allgemeine Dinge definiert, die für jeden Bentzer gemacht werden sollen
' Beispielweise gleiche Freigaben erstellen oder auflösen,
' in deinem Fall könnte man hier ja immer die Freigabe aufllösen, da dies ja bei jedem
' gemacht wird.
' Fall alle Benutzer die gleichen ORdner verbunden bekommen, kannst du das auch hier
' eintragen. Hat jeder individuelle Einträge, dann erst bei user.
' #####
' Allgemein
net use p: /delete
net use o: /delete
' #####
' Ab hier wird es Benutzerspezifisch
' nach case in die Anführungszeichen mußt du den Namen des Benutzer eintragen, wie
' sein anmeldenamen ist, sprich also, was er beim login eingibt. Groß/Kleinschreibung beachten
' Unterhalb gibst du ein, was das Programm machen soll.
' Beispielsweise die Freigaben verbinden und auf das was es dir ankommt,
' die Nachricht ausgeben. Als nachricht habe ich jetzt mal "Hallo Welt, das ist eine Nachricht für ...." defeniert.
' Als Beispiel für Anmeldenamen nehme ich jetzt "mayer" und "huber"
' #####
' Benutzer
select case user
case "mayer"
net use p: \\RechnerName\Ordner
net use o: \\RechnerName\Ordner2
msgbox "Hallo Welt, das ist eine Nachricht für Herrn Mayer"
case "huber"
net use p: \\RechnerName\Ordner
net use o: \\RechnerName\Ordner2
msgbox "Hallo Welt, das ist eine Nachricht für Herrn Huber"
end select
Das ist alles
*
Jetzt nochmal das Skript ohne Kommentar:
Set WSHShell = WScript.CreateObject("WScript.Shell")
Key = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
user = WshShell.RegRead( Key & "\DefaultUserName" )
net use p: /delete
net use o: /delete
select case user
case "mayer"
net use p: \\RechnerName\Ordner
net use o: \\RechnerName\Ordner2
msgbox "Hallo Welt, das ist eine Nachricht für Herrn Mayer"
case "huber"
net use p: \\RechnerName\Ordner
net use o: \\RechnerName\Ordner2
msgbox "Hallo Welt, das ist eine Nachricht für Herrn Huber"
end select
Hallo,
ich hab's etwas anders gelöst als Christian.
Dasvbs-Script wird erst komplett abgearbeitet und jeweils passende Text in die Variable strM;sg geschrieben. Zum Schluß wird die Variable mit dem Befehl Popup angezeigt. Der Vorteil hierbei ist, das Popup eine Parameter hat, der die Anzeigezeit bestimmt. Die Msg-Box schließt danach selbstständig.
' ----------------------------------------------------------
' Überschrift
strMsg = strMsg & vbCrLf & "Anmelde Ergebnisse" & vbCrLf & vbCrLf & _
"Benutzername" & Chr(9) & "= " & strUserName & vbCrLf & "Computername" & Chr(9) & "= " & _
strMachineName & vbCrLf & "Domäne" & Chr(9) & Chr (9) & "= " & strDomain & vbCrLf
' ----------------------------------------------------------
' Laufwerksverbindungen
If colDrives.Count = 0 Then
strMsg = strMsg & vbCrLf & "Kein Netzlaufwerk ist verbunden." & vbCrLf
Else
strMsg = strMsg & vbCrLf & "Verbundene Netzlaufwerk(e):" & vbCrLf
For i = 0 To colDrives.Count - 1 Step 2
strMsg = strMsg & vbCrLf & colDrives(i) & Chr(9) & colDrives(i + 1)
Next
End If
' ----------------------------------------------------------
' Druckerverbindungen
If colPrinters.Count = 0 Then
strMsg = strMsg & vbCrLf & vbCrLf & "Kein Netzwerk-Drucker ist verbunden." & vbCrLf
Else
strMsg = strMsg & vbCrLf & vbCrLf & "Verbundene Netzwerk-Drucker:" & vbCrLf
For i = 0 To colPrinters.Count - 1 Step 2
strMsg = strMsg & vbCrLf & colPrinters(i) & Chr(9) & colPrinters(i + 1)
Next
End If
' ----------------------------------------------------------
' langes Datum-, Zeitformat
Function Zeit
Zeit = "Systemzeit: " & Chr(9) & FormatDateTime(Date, 1) & " - " & FormatDateTime(Time, 4)
End Function
' ----------------------------------------------------------
' Popup
WshShell.Popup Zeit & vbCrLf & vbCrLf & strMsg,10," " & strUserName & "@" & strDomain,64
Das Script generiert eine Überschrift mit der aktuellen Systemzeit, sowie Anmeldenamen und Domäne, darunter werden in einer Art Tabelle die verbundenen Netzlaufwerke und Netzwerkdrucker angezeigt. Die 10 in der Popup-Sektion ist die Anzeigezeit in Sekunden, die 64 erzeugt eine Sprechblase mit einem i.
Dies ist nur ein Ausschnitt, die Variablen (alles was mit col oder str anfängt) müssen natürlich vorher belegt werden.
Gib Bescheid, wenn du Hilfe brauchst.
Jack
ich hab's etwas anders gelöst als Christian.
Dasvbs-Script wird erst komplett abgearbeitet und jeweils passende Text in die Variable strM;sg geschrieben. Zum Schluß wird die Variable mit dem Befehl Popup angezeigt. Der Vorteil hierbei ist, das Popup eine Parameter hat, der die Anzeigezeit bestimmt. Die Msg-Box schließt danach selbstständig.
' ----------------------------------------------------------
' Überschrift
strMsg = strMsg & vbCrLf & "Anmelde Ergebnisse" & vbCrLf & vbCrLf & _
"Benutzername" & Chr(9) & "= " & strUserName & vbCrLf & "Computername" & Chr(9) & "= " & _
strMachineName & vbCrLf & "Domäne" & Chr(9) & Chr (9) & "= " & strDomain & vbCrLf
' ----------------------------------------------------------
' Laufwerksverbindungen
If colDrives.Count = 0 Then
strMsg = strMsg & vbCrLf & "Kein Netzlaufwerk ist verbunden." & vbCrLf
Else
strMsg = strMsg & vbCrLf & "Verbundene Netzlaufwerk(e):" & vbCrLf
For i = 0 To colDrives.Count - 1 Step 2
strMsg = strMsg & vbCrLf & colDrives(i) & Chr(9) & colDrives(i + 1)
Next
End If
' ----------------------------------------------------------
' Druckerverbindungen
If colPrinters.Count = 0 Then
strMsg = strMsg & vbCrLf & vbCrLf & "Kein Netzwerk-Drucker ist verbunden." & vbCrLf
Else
strMsg = strMsg & vbCrLf & vbCrLf & "Verbundene Netzwerk-Drucker:" & vbCrLf
For i = 0 To colPrinters.Count - 1 Step 2
strMsg = strMsg & vbCrLf & colPrinters(i) & Chr(9) & colPrinters(i + 1)
Next
End If
' ----------------------------------------------------------
' langes Datum-, Zeitformat
Function Zeit
Zeit = "Systemzeit: " & Chr(9) & FormatDateTime(Date, 1) & " - " & FormatDateTime(Time, 4)
End Function
' ----------------------------------------------------------
' Popup
WshShell.Popup Zeit & vbCrLf & vbCrLf & strMsg,10," " & strUserName & "@" & strDomain,64
Das Script generiert eine Überschrift mit der aktuellen Systemzeit, sowie Anmeldenamen und Domäne, darunter werden in einer Art Tabelle die verbundenen Netzlaufwerke und Netzwerkdrucker angezeigt. Die 10 in der Popup-Sektion ist die Anzeigezeit in Sekunden, die 64 erzeugt eine Sprechblase mit einem i.
Dies ist nur ein Ausschnitt, die Variablen (alles was mit col oder str anfängt) müssen natürlich vorher belegt werden.
Gib Bescheid, wenn du Hilfe brauchst.
Jack
@jack grins....
habe mir gerade dein Skript angeschaut.... so geht es natürlich auch. Der Vorteil ist, man hat mehr Möglichkeiten bei deinem Skript.... klare Sache...
Aber ich mag gerne einfache Lösungen zu einem Problem. Außerdem sollte es auch für sky nicht zu komplex sein, da er nach meinem Gefühl noch nicht so die Erfahrung damit hat.... und dann ist es da schon schwierig den Überblick zu behalten... deshalb habe ich auch alles mit Kommentaren in dem Skript zugepflastert.
Aber warum nicht... ist auf jeden Fall sauber aufgebaut dein Skript.... Und wieder führen mehrere Wege nach Rom.... lol
habe mir gerade dein Skript angeschaut.... so geht es natürlich auch. Der Vorteil ist, man hat mehr Möglichkeiten bei deinem Skript.... klare Sache...
Aber ich mag gerne einfache Lösungen zu einem Problem. Außerdem sollte es auch für sky nicht zu komplex sein, da er nach meinem Gefühl noch nicht so die Erfahrung damit hat.... und dann ist es da schon schwierig den Überblick zu behalten... deshalb habe ich auch alles mit Kommentaren in dem Skript zugepflastert.
Aber warum nicht... ist auf jeden Fall sauber aufgebaut dein Skript.... Und wieder führen mehrere Wege nach Rom.... lol
Hallo,
genau so was habe ich auch gesucht! Das zweite Script gefäält mir sehr gut!! ICh weiß leider nur nicht wie ich die variabeln setzen soll gerde für Netzlaufwerke und Netzwerkdrucker!!
Ich will das jeder User automatisch mit dem Netzlaufwerk r: und ein paar spezielle User mit einem zusätzlichen Netzlaufwerk p: wie baue ich dies noch in das Script von Jack ein?? Oder brauche ich da zwei sripts?? Sorry hab eigentlich noh nie was mit Scripts gemacht!!
Vielen Dank im vorraus Jo
genau so was habe ich auch gesucht! Das zweite Script gefäält mir sehr gut!! ICh weiß leider nur nicht wie ich die variabeln setzen soll gerde für Netzlaufwerke und Netzwerkdrucker!!
Ich will das jeder User automatisch mit dem Netzlaufwerk r: und ein paar spezielle User mit einem zusätzlichen Netzlaufwerk p: wie baue ich dies noch in das Script von Jack ein?? Oder brauche ich da zwei sripts?? Sorry hab eigentlich noh nie was mit Scripts gemacht!!
Vielen Dank im vorraus Jo