skyfya
Goto Top

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!!!

Content-Key: 3253

Url: https://administrator.de/contentid/3253

Ausgedruckt am: 28.03.2024 um 18:03 Uhr

Mitglied: n4426
n4426 15.10.2004 um 22:02:29 Uhr
Goto Top
würde mich auch interesieren
Mitglied: egnaz
egnaz 15.10.2004 um 22:14:38 Uhr
Goto Top
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.
Mitglied: skyfya
skyfya 15.10.2004 um 23:02:07 Uhr
Goto Top
Das ist ja schon so ziehmlich das was ich suche aber es muss doch auch ne möglichkeit geben das ganze ohne Kixart zumachen also sprich per Hand. oder???

Denn ich kann zwar englisch aber es ist doch schon aufwendigerf als die cmd selbstzuschreiben die das kann oder gibt es keine cmd die Man dazu schreiben kann??

Für mehr info´s währe ich dankbar
Mitglied: Lord-Helmi
Lord-Helmi 15.10.2004 um 23:39:54 Uhr
Goto Top
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
Mitglied: linkit
linkit 16.10.2004 um 08:46:36 Uhr
Goto Top
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
Mitglied: skyfya
skyfya 16.10.2004 um 08:59:56 Uhr
Goto Top
Super danke das hört sich doch mal nach was an. das heisst also ich kann in die schon fertige CMD die dem Benutzer seine Laufwerke zuweisst einfach noch mit:

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

Aber jetzt bleibt mir noch eine verständniss frage:

Meine CMD sieht wie folgt aus:

net use P: /delete
net use P: \\Server\Ordner$

und hier kann ich dann einfach noch:

msgbox "blabla"

einfügen

dann würde das ja so aussehn:

net use P: /delete
net use P: \\Server\Ordner$
msgbox "blabla"

denn jeder Benutzer ha seine eigene CMD...

Aber wenn das so geht ist das ja geil

Big THX @Christian Menhofer
Mitglied: linkit
linkit 16.10.2004 um 14:53:35 Uhr
Goto Top
@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.
Mitglied: n4426
n4426 16.10.2004 um 15:37:23 Uhr
Goto Top
Hallo skyfya,

wenn jeder Benutzer seine eigene CMD-Datei hat, wie wärs dann mit dem Befehl

net send %Computername% blabla


mfg

n4426
Mitglied: Lord-Helmi
Lord-Helmi 16.10.2004 um 16:16:41 Uhr
Goto Top
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
Mitglied: skyfya
skyfya 16.10.2004 um 17:47:30 Uhr
Goto Top
@ n4426

Der net send terror ist bei uns deaktiviert
also ist net send auch keien lösung.

@ Michael Bußweiler

Der Vorschlag mir helfen zulassen ist auch net verkehrt also werde ich ihn doch gleich mal fragen.

Und jeder benutzer hat seine eigene CMD weil ich am anfang des ganzen stehe sprich ich habe noch nie mit Variablen gearbeitet. Bin ja auch erst im ersten Lehrjahr zm Itse...

Also wäre ich sehr verbunden wenn man noch ein wenig rücksicht hätte mit Fachbegriffen...

Und für weiter hilfen wäre ich dankbar
Mitglied: linkit
linkit 16.10.2004 um 21:33:38 Uhr
Goto Top
@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....
Mitglied: skyfya
skyfya 16.10.2004 um 22:18:24 Uhr
Goto Top
Also meine Batchdatein sehn wie folgt aus:

*

net use p: /delete
net use p: \\RechnerName\Ordner
net use o: /delete
net use o: \\RechnerName\Ordner2

*
Mitglied: linkit
linkit 17.10.2004 um 20:52:05 Uhr
Goto Top


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
Mitglied: 5274
5274 18.10.2004 um 20:20:01 Uhr
Goto Top
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
Mitglied: linkit
linkit 19.10.2004 um 07:27:51 Uhr
Goto Top
@jack grins.... face-smile


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... face-smile

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.... face-smile 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.... face-smile Und wieder führen mehrere Wege nach Rom.... lol
Mitglied: linkit
linkit 19.10.2004 um 07:28:45 Uhr
Goto Top
@all:


Das ist doch endlich mal eine tolle Diskussion hier... so wenn das immer wäre... das macht richtig Spaß.... echt tolle Lösungen
Mitglied: skyfya
skyfya 21.10.2004 um 13:13:25 Uhr
Goto Top
@ all

THX THX THX das ist alles was ich noch sagen kann.

Es gehn beide Lösungen *fg*
Mitglied: jorues
jorues 31.05.2006 um 09:42:00 Uhr
Goto Top
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