Error abfangen
Moin Moin,
ich habe ein kleines VB Script geschrieben, damit Benutzer auf einem Terminalserver (Citrix Published App) ihr Domänenkennwort ändern können.
Hier der entsprechende Teil des Scriptes:
Die entsprechenden Variablen werden vorher mittels Inputbox gefüllt.
Wie kann ich da jetzt Fehler abfangen?
Hier kann es dem Benutzer passieren das er ein nicht erlaubtes Kennwort verwendet (diverse Settings aktiv). Dann bricht die Anwendung direkt ab. Jedoch kann ich den Returncode nicht abfangen, das Script wird einfach beendet.
Grüße
LordShelmchen
ich habe ein kleines VB Script geschrieben, damit Benutzer auf einem Terminalserver (Citrix Published App) ihr Domänenkennwort ändern können.
Hier der entsprechende Teil des Scriptes:
'Verbindung zum AD aufbauen
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
objConnection.Open "Provider=ADsDSOObject;"
objCommand.ActiveConnection = objConnection
objCommand.CommandText = "<LDAP://" & strDNSDomain & ">;(&(objectCategory=User)(samAccountName=" & samAccountName & "));distinguishedName;subtree"
' Kennwort und Kennwort aendern setzen, wenn der Benutzer gefunden wurde
Set objRecordset = objCommand.Execute
If objRecordset.RecordCount = 1 Then
Set objUser = GetObject _
("LDAP://" & objRecordSet.fields("distinguishedName"))
objUser.ChangePassword AltesKennwort, NeuesKennwort
end If
Die entsprechenden Variablen werden vorher mittels Inputbox gefüllt.
Wie kann ich da jetzt Fehler abfangen?
Hier kann es dem Benutzer passieren das er ein nicht erlaubtes Kennwort verwendet (diverse Settings aktiv). Dann bricht die Anwendung direkt ab. Jedoch kann ich den Returncode nicht abfangen, das Script wird einfach beendet.
Grüße
LordShelmchen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87926
Url: https://administrator.de/contentid/87926
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
2 Kommentare
Neuester Kommentar
On Error Goto Errorhandler
'Verbindung zum AD aufbauen
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
objConnection.Open "Provider=ADsDSOObject;"
objCommand.ActiveConnection = objConnection
objCommand.CommandText = "<LDAP://" & strDNSDomain & ">;(&(objectCategory=User)(samAccountName=" & samAccountName & "));distinguishedName;subtree"
' Kennwort und Kennwort aendern setzen, wenn der Benutzer gefunden wurde
Set objRecordset = objCommand.Execute
If objRecordset.RecordCount = 1 Then
Set objUser = GetObject _
("LDAP://" & objRecordSet.fields("distinguishedName"))
objUser.ChangePassword AltesKennwort, NeuesKennwort
end If
errorhandler:
msgbox(Err.Description)
Gruß
Sven