VB.NET: lokales Admin-Passwort ändern
Programm zur Änderung des lokalen Administratorpasswortes auf Windows 2003 Server-Systemen per Scheduled Task
Hallo zusammen,
Ich habe mich im I-Net schon totgesucht.
Ich möchte ein Programm in Visual Studio 2003 selbst schreiben, womit ich per Scheduled Task auf Windows 2003 Server-Systemen das lokale Administratorpasswort anhand einer Übersicht, die im Programm mit eingefügt wird, ändern kann.
Mein Netzwerk besteht aus meherern Lokationen (z.B. Köln und Berlin), wo Server stehen. Jede Lokation hat ein anderes lokales Administratorpasswort. Das Programm soll das der Lokation zugehörige Passwort dem Administrator-Account zuweisen.
Für VBScript gibt es dafür folgenden Beispielcode:
Option Explicit
On Error Resume Next
Const strUsername = "Administrator"
Const strPassword = "111111"
Dim strLocalComputer
Dim objLocalUser
strLocalComputer = GetComputername()
If strLocalComputer <> "" Then
Set objLocalUser = GetObject("WinNT:" & strLocalComputer & "/" & strUsername & ",user")
If Not IsEmpty(objLocalUser) Then
objLocalUser.SetPassword strPassword
objLocalUser.SetInfo
End If
Set objLocalUser = Nothing
End If
WScript.Quit(0)
Function GetComputername()
On Error Resume Next
Dim objNetwork
Set objNetwork = CreateObject("WScript.Network")
If Not IsEmpty(objNetwork) Then
GetComputername = objNetwork.ComputerName
End If
Set objNetwork = Nothing
End Function
Das Problem, was ich nicht gelöst kriege, habe ich mit folgendem Absatz:
Set objLocalUser = GetObject("WinNT:" & strLocalComputer & "/" & strUsername & ",user")
If Not IsEmpty(objLocalUser) Then
objLocalUser.SetPassword strPassword
objLocalUser.SetInfo
Ich weiß nicht, welche Klasse und welche Methode ich benutzen muss um den VBScript-Code in VB.Net umzusetzen.
Ich hoffe ich konnte mein Problem einigermaßen verständlich schildern - falls nicht - löchert mich.
Wäre auf jeden Fall superklasse, wenn mir jemand von Euch helfen könnte.
Über Rückmeldungen würde ich mich sehr freuen.
Danke.
Grüße
Sui
Hallo zusammen,
Ich habe mich im I-Net schon totgesucht.
Ich möchte ein Programm in Visual Studio 2003 selbst schreiben, womit ich per Scheduled Task auf Windows 2003 Server-Systemen das lokale Administratorpasswort anhand einer Übersicht, die im Programm mit eingefügt wird, ändern kann.
Mein Netzwerk besteht aus meherern Lokationen (z.B. Köln und Berlin), wo Server stehen. Jede Lokation hat ein anderes lokales Administratorpasswort. Das Programm soll das der Lokation zugehörige Passwort dem Administrator-Account zuweisen.
Für VBScript gibt es dafür folgenden Beispielcode:
Option Explicit
On Error Resume Next
Const strUsername = "Administrator"
Const strPassword = "111111"
Dim strLocalComputer
Dim objLocalUser
strLocalComputer = GetComputername()
If strLocalComputer <> "" Then
Set objLocalUser = GetObject("WinNT:" & strLocalComputer & "/" & strUsername & ",user")
If Not IsEmpty(objLocalUser) Then
objLocalUser.SetPassword strPassword
objLocalUser.SetInfo
End If
Set objLocalUser = Nothing
End If
WScript.Quit(0)
Function GetComputername()
On Error Resume Next
Dim objNetwork
Set objNetwork = CreateObject("WScript.Network")
If Not IsEmpty(objNetwork) Then
GetComputername = objNetwork.ComputerName
End If
Set objNetwork = Nothing
End Function
Das Problem, was ich nicht gelöst kriege, habe ich mit folgendem Absatz:
Set objLocalUser = GetObject("WinNT:" & strLocalComputer & "/" & strUsername & ",user")
If Not IsEmpty(objLocalUser) Then
objLocalUser.SetPassword strPassword
objLocalUser.SetInfo
Ich weiß nicht, welche Klasse und welche Methode ich benutzen muss um den VBScript-Code in VB.Net umzusetzen.
Ich hoffe ich konnte mein Problem einigermaßen verständlich schildern - falls nicht - löchert mich.
Wäre auf jeden Fall superklasse, wenn mir jemand von Euch helfen könnte.
Über Rückmeldungen würde ich mich sehr freuen.
Danke.
Grüße
Sui
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 34720
Url: https://administrator.de/contentid/34720
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
1 Kommentar
Das geht über "System.DirectoryServices" (Verweis hinzufügen, per "Imports" den Namespace einbinden und dann mal googeln).
Sorry, das mit dem Googeln ist nicht böse gemeint, habe nur leider gerade kein Visual Studio in der Nähe, das Ganze sollte anfangen mit
Dim deUser As New DirectoryEntry("WinNT://MEINRECHNER/DerAdmin,user")
danach kannst du
per deUser.Invoke(...) das Passwort neu setzen.
Wenn's nicht auf Anhieb klappt, morgen sitz' ich wieder an 'nem VS
Sorry, das mit dem Googeln ist nicht böse gemeint, habe nur leider gerade kein Visual Studio in der Nähe, das Ganze sollte anfangen mit
Dim deUser As New DirectoryEntry("WinNT://MEINRECHNER/DerAdmin,user")
danach kannst du
per deUser.Invoke(...) das Passwort neu setzen.
Wenn's nicht auf Anhieb klappt, morgen sitz' ich wieder an 'nem VS