Používanie ActiveShell Active Directory bez inštalácie RSAT

V predchádzajúcom článku sme ukázali, ako používať rutinu Set-ADComputer v prihlasovacom skripte na ukladanie informácií o aktuálnom používateľovi vo vlastnostiach každého počítača v službe AD. Jeden z komentátorov celkom primerane poznamenal, že v tomto prípade budete musieť nainštalovať RSAT s modulom Active Directory pre Windows PowerShell na počítače všetkých používateľov, čo je dosť náročné. Rozhodol som sa skúsiť prísť na to, či Modul PS používajte pre rutiny cmdlet bez jeho inštalácie počítačom používateľov. A urobil som to!

Povedzme, že máme server so systémom Windows Server 2012 R2, na ktorom sú nainštalované moduly RSAT a RSAT-AD-PowerShell. Našou úlohou je skopírovať súbory modulu RSAT-AD-PowerShell na pracovnú stanicu a pokúsiť sa importovať ich na spustenie rôznych cmdletov modulu AD. Ako pracovná stanica používam konkrétne Windows 10 LTSC (založené na 1809), aby som preukázal, že staršie verzie modulu RSAT-AD-PowerShell sú podporované v novších operačných systémoch..

Najskôr skopírujte všetky potrebné súbory AD modulu zo systému Windows Server 2012 R2. Vytvorte priečinok C: \ PS \ ADPoSh a skopírujte doň obsah adresára C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Moduly.

Potom z adresára C: \ Windows \ WinSxS skopírujte súbory:

  • Microsoft.ActiveDirectory.Management.dll
  • Microsoft.ActiveDirectory.Management.resources.dll
Tieto knižnice nájdete prehľadaním adresára WinSxS. V mojom príklade v systéme Windows Server 2012 R2 vyzerala úplná cesta takto:

"C: \ Windows \ WinSxS \ amd64_microsoft.activedirectory.management_31bf3856ad364e35_6.3.9600.16503_none_09aa35cd49da6068 \ Microsoft.ActiveDirectory.Management.dll"

a

"C: \ Windows \ WinSxS \ amd64_microsoft.activedir ... anagement.resources_31bf3856ad364e35_6.3.9600.16384_en-us_efefcf68718a71bc \ Microsoft.ActiveDirectory.Management.resources.dll"

Teraz skopírujte adresár C: \ PS \ ADPoSh (v mojom prípade jeho veľkosť bola asi 1,3 MB) do počítača, ktorý nemá modul RSAT AD pre Windows PowerShell. V tomto príklade používam počítač so systémom Windows 10.

Pokúsime sa importovať skopírovaný modul Active Directory do aktuálnej relácie PowerShell:

Importný modul "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.dll"

Importný modul "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.resources.dll"

Modul bol úspešne importovaný, teraz môžete použiť akékoľvek rutiny cmd AD modulu na správu a načítanie informácií z AD domény (napríklad get-aduser, get-adcomputer, get-adgroup, atď.).

Ak sa vyskytne chyba “Server sa nedá kontaktovať. Dôvodom môže byť skutočnosť, že tento server neexistuje, je v súčasnosti nefunkčný alebo nemá spustenú webovú službu Active Directory'je potrebné overiť, či je služba Active Directory Web Services (ADWS) spustená na najbližšom radiči domény a či port TCP 9389 nie je blokovaný bránou firewall.

V doméne DC nájdete úlohu ADWS s príkazom:

Get-ADDomainController -Discover -Service "ADWS"

Dostupnosť služieb môžete overiť pomocou rutiny Test-NetConnection:

tnc MSK-DC01 -port 9389

Na spustenie rutín cmdlet na konkrétnom DC je potrebné použiť parameter -Server:

Get-aduser aaivanov -server msk-dc01.winitpro.ru

Kým ukončíte reláciu PowerShell, môžete používať cmdlety AD modulu. Súbory modulov, ktoré môžete kopírovať do všetkých počítačov v doméne prostredníctvom GPO,