Pewnie każdy administrator, staje z czasem przed problemem, że w sieci ma totalny bałagan jesli chodzi o nazwy hostów, zwłaszcza jak komputery przyjeżdżają preinstalowane. Ja także postanowiłem zrobić sobie porządek ponieważ właśnie przygotowuje sieciowy backup i nie chce jako nazwy klientów podawać IP, które jest z DHCP, poza tym wybieranie klientów do restore lub backupu po IP to utrudnienie a nie ułatwienie. Dlatego też komputery będą nazywały się tak jak pracujący na nich userzy. Tutaj zaczynają się schody, ponieważ w Active Directory gdzie figurują wszystkie komputery nie ma możliwości zmiany ich nazwy. Można zarządzać wszystkim co tylko mamy pod Zarządzaj po kliknięciu prawym na Mój Komputer, no ale nazwy jednak zmienić nie można. Nie jest tak źle i można sobie oszczędzić biegania od komputera do komputera jednak przy pomocy dwóch programów i jednego skryptu. Po pierwsze potrzebujemy PsTools oraz wsname.
Na koniec, potrzebujemy skrypt (nazwij go dowolnie np changer.cmd)
1 2 3 4 5 | @echo off if "%1" EQU "" GOTO SHOWSYNTAX if "%2" EQU "" GOTO SHOWSYNTAX if "%3" EQU "" GOTO SHOWSYNTAX if "%4" EQU "" GOTO SHOWSYNTAX |
1 2 | if not exist wsname.exe GOTO SHOWSYNTAX if not exist psexec.exe GOTO SHOWSYNTAX |
1 2 3 4 5 | if /i "%5" EQU "REBOOT" ( SET REBOOT=Y ) ELSE ( SET REBOOT=N ) |
1 2 3 | echo Connecting net use \\%1\ipc$ > NUL if NOT ERRORLEVEL == 0 GOTO NETERROR |
1 2 | echo Copying WSNAME locally COPY WSNAME.EXE \\%1\C$ > NUL |
1 2 3 | echo Launching WSNAME PSEXEC \\%1 C:\WSNAME.EXE /N:%2 /RCID /USER:%3 /PASS:%4 if "%ERRORLEVEL%" NEQ "0" SET REBOOT=N |
1 2 | echo Tidying Up DEL \\%1\C$\WSNAME.EXE |
1 2 | echo Disconnecting net use \\%1\ipc$ /d > NUL |
1 2 3 4 | if "%REBOOT%" EQU "Y" ( echo Rebooting '%2' so new the name will take effect shutdown /m \\%1 /r /f /c "Rebooting so new name will take effect" ) |
1 | GOTO END |
1 2 3 4 5 | :NETERROR echo. echo ERROR: Could not connect to %1 echo. GOTO END |
1 2 3 4 5 6 7 8 9 10 | :SHOWSYNTAX echo. echo Remote Rename in Domain echo. Syntax: RemoteName "device existing name" "new name" "userid" "password" [REBOOT] echo. echo. Requires PSEXEC.EXE and WSNAME.EXE echo. echo. Get PSEXEC from www.sysinternals.com echo. echo. |
1 2 | :END SET REBOOT= |
Wrzucamy wszystko do jednego katalogu, wchodzimy do shella (cmd) i piszemy (będąc w katalogu ze skryptem i programami):
changer 10.1.0.50 JanKowalski DOMENA/Administrator haslo [reboot]
changer – to nazwa naszego skryptu
10.1.0.50 – adres komputera docelowego (może być też nazwa NetBIOSowa)
JanKowalski – nowa nazwa komputera
DOMENA/Administrator – użytkownik z prawami do zmiany nazwy (gdy komputery są w domenie to mamy ułatwione zadanie ponieważ wystarczy Administrator domeny dla każdego komputera, jeśli nie to cóż, mam nadzieje, że znasz hasła każdego komputera ;)
haslo – hasło użytkownika DOMENA/Administrator
[reboot] – wymuszenie restartu aby zmiany odniosły skutek
Napewno błędem, który napotkasz będzie jednak nie działanie tego rozwiązania z powodu zapory Windowsowej. Znowu w domenie można załatwić to przez GPO, bez domeny pozostaje bieganie do komputerów.
Wyłączamy zaporę stosując następujące GPO:
i podpinamy do komputerów, których ma dotyczyć.
Nastepnie czekamy, aż polityki się odświeżą lub odpalamy gpupdate /force .
Jesli maszyna zacznie odpowiadac na pingi to możemy zacząć zabawe ze zmianami nazw :)
Popularity: 9% [?]




Nixtone:
Cześć,
Tytułem komentarza do „Tutaj zaczynają się schody, ponieważ w Active Directory gdzie figurują wszystkie komputery nie ma możliwości zmiany ich nazwy.” zachęcam do zapoznania się z artykułem MS Technet dotyczącym zmiany nazwy komputerów w AD za pomocą narzędzia netdom:
http://support.microsoft.com/kb/325354/pl
Inna sprawa to zastanowił bym się jednak nad innym, bardziej ogólnym sposobem nazywania komputerów niż użytownicy, ponieważ:
a) w AD będą figurowały dwa obiekty o tej samej nazwie
b) w przypadku odeścia pracownika z firmy, zmiany miejsca pracy, czy nawet tak prozaicznej rzeczy jak zamążpójście ;-) proponowane przez Ciebie nazewnictwo weźmie w łeb (a dokładnie wymusi ponowną zmianę nazwy)
c) względy bezpieczeństwa – znając nazwisko osoby pełniącej strategiczną funkcję w firmie możemy z łatwością przy Twojej metodzie wybrać komputer do zaatakowania..
Pozdrawiam