Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 6419 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 ..
Ähnliche Inhalte
Batch & Shell
Script Lokales Admin Passwort ändern (3)

Frage von MaxBerg zum Thema Batch & Shell ...

Batch & Shell
Lokaler Administrator PW ändern (3)

Frage von OniChan zum Thema Batch & Shell ...

Windows Server
Windows Server 2012 - Passwort ändern (6)

Frage von BirdyB zum Thema Windows Server ...

Visual Studio
gelöst SIDs eines Verzeichnisses ermitteln (1)

Frage von joehuaba zum Thema Visual Studio ...

Neue Wissensbeiträge
Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

(1)

Information von BassFishFox zum Thema Datenschutz ...

Heiß diskutierte Inhalte
Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
gelöst 802.1X-Authentifizierung (18)

Frage von Alex29 zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (15)

Frage von kwame501 zum Thema Windows Server ...