VBS Script mit Random Passwort bei jedem Systemstart
Hallo,
habe mir hier ein kleines nettes Script zurecht gestrickt:
Sobad der PC gestartet wird, wird für ein Lokalen Benutzer ein Random Passwort gesetzt und dieses Per E-mail verschickt.
Nun gibt es meiner ansicht nach noch ein kleines Problem mit den Variablen.
Die Variable strComputer kann ohne Probleme immer und überall verwenden.
Gerne würde ich auch hier wo /USER steht die Variable strUser verwenden nur leider macht er es nicht.
Danke.
jodalein
habe mir hier ein kleines nettes Script zurecht gestrickt:
Sobad der PC gestartet wird, wird für ein Lokalen Benutzer ein Random Passwort gesetzt und dieses Per E-mail verschickt.
Nun gibt es meiner ansicht nach noch ein kleines Problem mit den Variablen.
Die Variable strComputer kann ohne Probleme immer und überall verwenden.
Gerne würde ich auch hier wo /USER steht die Variable strUser verwenden nur leider macht er es nicht.
Set objUser = GetObject("WinNT://" & strComputer & "/USER, user")
'Passwort änderungs Script für Locale User
'gpedit.msc > Computer Configuration >Windows Settings > Scritps > Startup
'add Script > Path to Script
'Username in Zeile 46 Editieren 46 ""/USER," nur Lokale Benutzer
'cc und bcc fals nötig ändern
'Set computer name (Network Name)
'Set user name (for email only)
strComputer = "PC-NAME"
strUser = "USERNAME"
'sleep time in ms 1000 = 1 sec.
wscript.sleep 20000
' Password generator
Dim NumChar, Count, strRdm, intRdm
NumChar = 8
If NOT IsNumeric(NumChar) Then
MsgBox Chr(34) & NumChar & Chr(34) & " is invalid input." & vbcrlf & _
vbcrlf & "Input must be a number between 1 and 100",, Title
WScript.Quit
Else
NumChar = CInt(NumChar)
If NumChar < 1 OR NumChar > 100 Then
MsgBox Chr(34) & NumChar & Chr(34) & " is invalid input." & vbcrlf & _
vbcrlf & "Input must be a number between 1 and 100",, Title
WScript.Quit
End If
End If
Randomize Timer
Do Until Count = NumChar
Count = Count + 1
GetRdm
strRdm = strRdm & Chr(intRdm)
Loop
Sub GetRdm
intRdm = Int((122 - 49) * Rnd + 48)
If intRdm > 57 And intRdm < 65 Or intRdm > 90 And intRdm < 97 Then GetRdm
End Sub
'Debug PW
'WScript.echo "" & strRdm
Set objUser = GetObject("WinNT://" & strComputer & "/USER, user")
objUser.SetPassword "" & strRdm
objUser.SetInfo
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Password for PC:" & strComputer
objMessage.From = """ABSENDER"" <DOMAIN>"
objMessage.To = "DOMAIN"
objMessage.CC = ""
objMessage.BCC = ""
objMessage.TextBody = "PC name:" & strComputer & vbCRLF & "User name:" & strUser & vbCRLF & "Password:" & strRdm
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = ""
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = ""
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = ""
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objMessage.Configuration.Fields.Update
objMessage.Send
Danke.
jodalein
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Dani am 29.04.2011 um 10:31:04 Uhr
Formatierung hinzugefügt.
Content-ID: 165380
Url: https://administrator.de/contentid/165380
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
4 Kommentare
Neuester Kommentar
Diese Ansicht war nicht auf das ganze Skript bezogen sondern nur auf diese eine Zeile.
Grüße,
Dani
Grüße,
Dani