PsPasswd.exe i „net user”, czyli zmiana hasła na wielu komputerach
Jednym z wyzwań przy zarządzaniu rozbudowanym środowiskiem informatycznym jest zapewnienie bezpieczeństwa wszystkich systemów. Cykliczna zmiana haseł kont lokalnych (szczególnie administratora) to jeden z podstawowych punktów polityki bezpieczeństwa i dzisiaj podzielę się z Wami dwoma sposobami na wygodną zmianę hasła na wielu komputerach na raz.
Najpierw sięgniemy do pakietu PSTOOLS (pisaliśmy m.in. o psexec, pslist i psshutdown), a konkretnie do programu PsPasswd.exe. Pakiet możecie pobrać za darmo ze strony Microsoftu.
PsPasswd.exe podobnie jak wszystkie programy z tego pakietu nie ma interfejsu graficznego i działa tylko w wierszu poleceń. Dla mnie jest to jego mocną stroną 🙂
Oczywiście w tym miejscu moglibyście sami przeczytać wbudowany „manual”, ale dla osób mających problemy z językiem angielskim, albo lubiących gotowe przykłady, Blog Spece.IT jak zawsze stara się być pomocnym 🙂
Aby zmienić hasło lokalnego użytkownika wystarczy w wierszu poleceń użyć prostej składni:
pspasswd.exe [nazwa_konta] [nowe_hasło]
Możemy łączyć się ze zdalnym komputerem:
pspasswd.exe \\zdalny_komputer [nazwa_konta] [nowe_hasło]
Łącząc się ze zdalnymi maszynami możemy podać poświadczenia innego konta (np. konta serwisowego z wyższymi uprawnieniami):
pspasswd.exe \\zdalny_komputer -u [użytkownik] -p [hasło] [nazwa_konta] [nowe_hasło]
Możemy podać kilka nazw komputerów oddzielając je przecinkami:
pspasswd.exe \\zdalny_komputer1,\\zdalny_komputer2 [nazwa_konta] [nowe_hasło]
..albo też wykonać to polecenie na komputerach z pliku.
pspasswd.exe @mój_plik_z_nazwami_komputerów.txt [nazwa_konta] [nowe_hasło]
Istnieje wiele sposobów na zmianę hasła. Nie jestem w stanie opisać wszystkich, ale grzechem byłoby gdybym nie wspomniał o natywnym poleceniu w Windowsach:
net user [nazwa_konta] [nowe_hasło]
Polecenie to nie ma opcji wykonywania na zdalnych komputerach. Można oczywiście wykorzystać psexec.exe, ale skoro istnieje znacznie mniej skomplikowana metoda opisana wyżej, to chyba nie ma sensu komplikować, prawda? 🙂
A Wy, jak zmieniacie hasła na zdalnych maszynach?
Witam, stworzyłem listę kilkudziesięciu komputerów gdzie nie wszystkie są w chwili uruchamiania skryptu ONLINE.
– po pierwsze: jak skrócić liczbe prób na zmianę hasła aby po pierwszym niepowodzeniu od razu przeszło do kolejnego komputera z listy (w tej chwili trwa to około 20 sekund)
– po drugie: jak sprawić aby hasło zmieniło się zaraz po pojawieniu się komputera w sieci ?
Z góry dziękuje za pomoc
@Geras:
Cześć! Po pierwsze w samym pspassword nie ma funkcji sprawdzania dostępności maszyny oraz ustawiania ilości prób. Można to obejść na wiele sposobów, na przykład najpierw PINGiem sprawdzić czy maszyna jest online (parametr -n odpowiada za ilość pingów), i jeśli odpowiedź z PINGA zawieraq TTL – wiesz, że maszyna jest online.
ping -n 1 nazwa_lub_ip_maszyny | find „TTL” if not errorlevel 1
Zmiane hasła po pojawieniu się maszyny w sieci najlepiej wykona Group Policy ( nie napisałeś jednak czy masz domenę..)
witam jak wpisuję pspasswd.exe \nazwa komputera [nazwa konta] [nowe hasło] to wyrzuca mi Access is denied co może być przyczyną
odpal CMD jako administrator