Polecenie Add-Computer -DomainName egzamin.local -Restart jest klasycznym przykładem użycia powłoki PowerShell do administracji systemem Windows w środowisku domenowym. Składnia z czasownikiem Add i rzeczownikiem Computer dokładnie wpisuje się w konwencję cmdletów PowerShell (schemat „Czasownik-Rzeczownik”), której nie znajdziemy w klasycznej powłoce cmd.exe. W cmd używa się zupełnie innych narzędzi, np. netdom, a nie Add-Computer. Dodatkowo przełącznik -DomainName oraz parametr -Restart to typowe parametry cmdletu, a nie opcje polecenia w cmd. W praktyce administratorzy domeny bardzo często używają Add-Computer właśnie w skryptach automatyzujących dołączanie wielu stacji roboczych do domeny, np. w czasie wdrażania nowych komputerów w firmie. Można do tego polecenia dodać kolejne parametry, jak -Credential (podanie konta z uprawnieniami do dodania komputera do domeny) czy -OUPath (od razu umieszczenie konta komputera w konkretnej jednostce organizacyjnej w Active Directory). To pozwala trzymać się dobrych praktyk: porządek w strukturze AD, ograniczenie ręcznej klikaniny i powtarzalne, skryptowalne procesy. Moim zdaniem znajomość takich cmdletów PowerShell jest dzisiaj obowiązkowa dla kogoś, kto chce poważnie podchodzić do administracji Windows. Microsoft od lat promuje PowerShell jako główne narzędzie do zarządzania, a wiele nowych funkcji systemu wręcz nie ma odpowiedników w starych narzędziach graficznych czy w cmd. W porównaniu z przystawką graficzną czy menedżerem DNS, użycie PowerShell jest szybsze, łatwiejsze do zautomatyzowania i zgodne z nowoczesnymi standardami DevOps, gdzie konfigurację infrastruktury zapisuje się jako kod.
W tym zadaniu łatwo się pomylić, bo w środowisku Windows mamy kilka różnych narzędzi administracyjnych i część z nich „jakoś tam” kojarzy się z domeną. Warto jednak uporządkować, co do czego służy. Klasyczna powłoka cmd (wiersz polecenia) obsługuje inne polecenia niż PowerShell. W cmd nie występuje składnia typu Add-Computer z myślnikami i parametrami w takiej formie. Tam używa się komend takich jak net, netdom czy wmic, a nie cmdletów w stylu Czasownik-Rzeczownik. Jeśli więc widzisz polecenie w formacie Add-CośTam -Parametr, praktycznie zawsze jest to PowerShell, a nie cmd. Częsty błąd polega też na wrzucaniu wszystkich narzędzi MMC do jednego worka. Przystawka gpo.msc służy do zarządzania obiektami zasad grupy (Group Policy Objects), czyli do konfiguracji ustawień użytkowników i komputerów w domenie, ale nie do samego dołączania stacji roboczej do domeny. Oczywiście można później stosować GPO do komputerów już przyłączonych do domeny, ale sam proces join do domeny wykonuje się innymi narzędziami: graficznie w właściwościach systemu albo właśnie skryptowo przez PowerShell. Menedżer DNS natomiast odpowiada za konfigurację i obsługę stref DNS, rekordów A, CNAME, SRV itd. Jest on krytyczny dla działania logowania do domeny (bo kontrolery domeny odnajdywane są przez DNS), ale sam w sobie nie służy do dodawania komputera do domeny. To typowe nieporozumienie: „skoro domena, to pewnie DNS”, a tu chodzi o domenę Active Directory i proces dołączania komputera, który realizuje system Windows przy użyciu odpowiedniego polecenia lub interfejsu. Z mojego doświadczenia wynika, że najłatwiej to zapamiętać tak: jeśli widzisz cmdlet Add-Computer z parametrami -DomainName i -Restart, to myśl od razu o PowerShell i automatyzacji administracji, a nie o starym cmd, GPO czy DNS. To pomaga unikać mieszania warstw: narzędzia do zasad grupy, narzędzia do DNS i narzędzia do joinowania domeny to trzy różne światy, chociaż wszystkie obracają się wokół tej samej infrastruktury Windows Server i Active Directory.