Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Administrator Passwort mit SID ändern

Frage Entwicklung Batch & Shell

Mitglied: Luke61

Luke61 (Level 1) - Jetzt verbinden

10.02.2009, aktualisiert 11.02.2009, 6376 Aufrufe, 5 Kommentare

Hallo Zusammen,

erstmal ich bin neu hier. Ich hoffe das ich alle Regeln eingehalten habe. Und zwar ich suche ein Script welches das lokale Administrator Passwort ändert. Hört sich simple an aber da der lokale Administrator in jedem Land anders heißt muss man die SID zur Hilfe zu nehmen. Nach stundenlangen Googlen und durchlesen unzähliger Forenbeiträge habe ich ein Großteil des Scripts zusammenschustern können. Aber ich scheitere immer an einem Punkt - ich hoffe ihr könnt mir helfen.

Hier der Code:

...
Set WshNetwork = WScript.CreateObject("WScript.Network")
strComputer = WshNetwork.ComputerName

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colAccounts = objWMIService.ExecQuery _
("Select * From Win32_UserAccount Where LocalAccount = TRUE")

For Each objAccount in colAccounts
If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
Wscript.Echo objAccount1.Name

End If
Next



Set objUser = GetObject("WinNT://" & strComputer & ???)

objUser.SetPassword "newpasswort" ' <--- this will be the new admin password.
objUser.SetInfo

Mein Problem habe ich rot makiert, und zwar müsste statt "Wscript.Echo objAccount.Name" das Objekt in eine Variable "umgewandelt" werden damit ich es bei den ??? einsetzen und damit weiterarbeiten kann. Oder gibt es da noch eine andere Möglichkeit? Ich hoffe irgendjemand kann mir helfen!!!

Gruß Lukas
Mitglied: Biber
10.02.2009 um 18:06 Uhr
Moin Luke61,

willkommen im Forum.

Dein Schnipsel um die restlichen Puzzleteile ergänzt könnte so ungefähr aussehen.
01.
Set WshNetwork = CreateObject("WScript.Network")  
02.
strComputer = WshNetwork.ComputerName 
03.
 
04.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
05.
 
06.
Set colAccounts = objWMIService.ExecQuery _ 
07.
("Select * From Win32_UserAccount Where LocalAccount = TRUE") 
08.
 
09.
For Each objAccount in colAccounts 
10.
If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then 
11.
   strLocalAdminsName = objAccount.Name 
12.
   Wscript.Echo "Der lokale Administrator mit SID S-1-5-..-500 heiss t" & strLocalAdminsName 
13.
   Set objUser = GetObject("WinNT://" & strComputer & "/" & strLocalAdminsName, user") 
14.
 
15.
   ' #uncomment objUser.SetPassword "newpasswort" ' <--- this will be the new admin password.  
16.
   ' #uncomment objUser.SetInfo  
17.
End If 
18.
Next
Die beiden Setze-neues-Passwort-Zeilen habe ich erstmal auskommentiert ... brauchst Du ja zum Testen nicht.

Grüße
Biber
Bitte warten ..
Mitglied: Luke61
11.02.2009 um 09:52 Uhr
Guten Morgen Biber,

danke erstmal für deine schnelle Anwort.

Leider funktioniert das Script noch nicht richtig. Ich bekomme immer den Fehler "Nicht abgeschlossene Zeichenfolgekonstate" in Zeile 17 | Zeichen 87. Schließe ich diese Zeile allerdings aus bekomme ich den lokalen Administrator ausgegeben. Kann der Fehler dadurch entstehen das die Zeilen 15 | 16 auskommentiert sind? Und noch eine Frage, macht es eigentlich einen unterschied ob die Zeilen 13,15, 16 in bzw außerhalb der Schleife sind?

Viele Grüße
Lukas
Bitte warten ..
Mitglied: Biber
11.02.2009 um 17:27 Uhr
Moin Luke61,

sorry, so konnte és auch nicht funktionieren...

STREICHE: .
Set objUser = GetObject("WinNT://" & strComputer & "/" & strLocalAdminsName, user")
SETZE:
Set objUser = GetObject("WinNT://" & strComputer & "/" & strLocalAdminsName & ", user")

Ob die beiden mach-mir-dat-Passwort-Anweisungen innerhalb/außerhalb der FOR-EACH-Anweisung sind oder gar in eine kleine Funktion gekapselt werden ist rein philosophisch/ästhetisch zu entscheiden.

Es gibt ja genau eine Wellknown-SID mit dieser Endziffer -500, die den lokalen Adnim auszeichnet.
Ob der nun "Administrator" oder "Hugo" gerufen wird dagegen ist sprach- und computerabhängig.

Grüße
Biber
Bitte warten ..
Mitglied: Luke61
06.03.2009 um 10:26 Uhr
Hallo Biber,

vielen Dank für deine Hilfe. Mein Problem ist gelöst. =)

Sollte jemand das vollständige Script brauchen dann PM an mich

Gruß

Lukas
Bitte warten ..
Mitglied: Luke61
06.08.2009 um 09:23 Uhr
Zitat von Luke61:
Hallo Biber,

vielen Dank für deine Hilfe. Mein Problem ist gelöst. =)

Sollte jemand das vollständige Script brauchen dann PM an mich


Gruß

Lukas


Auf Grund einiger Nachfragen hier das komplette Script:

01.
'==========================================================================  
02.
'  
03.
'// NAME: Change local administator password with SID 
04.
 
05.
' ** Setup the variables and working environment for the script **  
06.
 
07.
Set WshNetwork = CreateObject("WScript.Network")  
08.
strComputer = "."  							'//Computer auf dem das Script ausgeführt wird  
09.
strComputer = WshNetwork.ComputerName 
10.
 
11.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 		 
12.
 
13.
Set colAccounts = objWMIService.ExecQuery _ 
14.
("Select * From Win32_UserAccount Where LocalAccount = TRUE") 		'//alle localen Accounts 
15.
 
16.
For Each objAccount in colAccounts 
17.
If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then '		'//Schleife verlassen sobald ein Account mit "S-1..." anfängt und mit "-500" aufhört  
18.
												'//um den lokalen Administrator herauszufinden 
19.
   strLocalAdminsName = objAccount.Name '//Der lokale Adminname wird in geschrieben 
20.
 
21.
										 
22.
    
23.
form = Chr(7) & Chr(7) & Chr(9) & Chr(1) & Chr5) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & 	'//Passwort in Zahlen umkodiert um eine einfach Decodierung zu vermeiden ACHTUNG: Macht das Passwort nur für Lain unlesbar! Kann zurück kodiert werden 
24.
    
25.
   Set objUser = GetObject("WinNT://" & strComputer & "/" & strLocalAdminsName & ", user") 		 
26.
   objUser.SetPassword form 
27.
   objUser.SetInfo  
28.
End If 
29.
Next 
30.
 
Bei Bedarf kann man die vbs Datei noch in vbe "verschlüsseln", das Tool hierzu findet sich auf ms.com...
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows Userverwaltung
gelöst Domain - Zugriff auf Rechner in Netzwerk ohne Administrator Passwort (14)

Frage von Aviator zum Thema Windows Userverwaltung ...

Microsoft Office
Access Verknüpfte Tabellen Passwort ändern

Frage von mijacd zum Thema Microsoft Office ...

Windows 7
gelöst Windows Administrator-Konto wieder aktivieren (13)

Frage von Fenris14 zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...