hallo zusammen
also ich habe nachgefragt und ich darf veröffentlichen. das skript ist von der zeitschrift "Windows Server praxisnah administrieren" ausgabe august 2009 (
Windows Server -). das original skript setzt ein selber generiertes passwort und schreibt das in die ergebniss-datei. ich will keine zufälligen passwörter, darum habe ich das skript umgeschrieben. wenn wer den teil mit dem zufall passwort noch will, soll er sich melden.
[Reflection.Assembly]::LoadWithPartialName("System.Web")
$strErgebnisdatei = "PasswortErgebnisse.txt"
$computer = Get-content "maschinen.txt"
foreach ($strPc in $computer) {
$pingAntwort = ""
$objPing = new-object System.Net.NetworkInformation.Ping;
$pingAntwort = $objPing.send($strPc)
if ($pingAntwort.status -eq "success") {
$strPasswort = "HierdasPassworteingeben"
$admin=[adsi] ("WinNT://" + $strPc + "/administrator, user")
$admin.psbase.invoke("SetPassword", $strPasswort)
if($?) {
$strStatus = $strPasswort}
else {
$strStatus = "Fehler (ADSI-Zugriff fehlgeschlagen)"}
} else {
$strStatus = "Fehler (nicht per Netzwerk erreicht)"}
Write-Output $strPc : $strStatus | Out-File $strErgebnisdatei -Append
}
legende:
configpasswort.ps1 = script
maschinen.txt = datei zum auslesen der maschinen die geändert werden sollen
PasswortErgebnisse.txt = zeigt ergebnis nach ausführung an, auch allfällige fehler
anleitung zum ändern von passwort auf server vom lokalen administrator:
- in der datei "maschinen.txt" alle maschinen erfassen die geändert werden sollen.
- in der datei "configPasswort.ps1" das gewünschte passwort anpassen, dass man geben will (in zeile 9 bei folgender passage: $strPasswort =)
- die datei "configPasswort.ps1" selektieren, rechtsklick und "Mit PowerShell ausführen" wählen.
- das skript läuft nun und je nach dem wieviele clients dauert es eine zeit.
- danach die datei "PasswortErgebnisse.txt" auf fehler
prüfen.
fehlermöglichkeiten wegen powershell:
wenn bei euch beim client auf dem ihr das skript ausführt, ein fehler kommt, dass die datei nicht signiert ist, dann müsst ihr folgenden befehl ausführen:
Set-ExecutionPolicy RemoteSigned
powershell muss auf dem client installiert sein, damit man das skript ausführen kann.
der user mit dem man das skript ausführt, muss die entsprechende berechtigung haben.
ich hoffe euch gefällt das skript so wie mir. falls ihr fragen habt, einfach melden.
greez
amun