Uporaba PowerShell Active Directory brez namestitve RSAT

V prejšnjem članku smo pokazali, kako uporabiti ukazni set Set-ADComputer v skriptu za prijavo za shranjevanje informacij o trenutnem uporabniku v lastnostih vsakega računalnika v AD. Eden od komentatorjev je precej utemeljeno ugotovil, da boste morali v tem primeru RSAT namestiti z modulom Active Directory for Windows PowerShell na računalnike vseh uporabnikov, kar je precej naporno. Odločila sem se, da poskusim ugotoviti, če Uporabite PS modul za AD cmdlete, ne da bi ga namestili uporabnikom računalnikom. In to sem tudi storil!

Recimo, da imamo strežnik z Windows Server 2012 R2, na katerem sta nameščena RSAT in modul RSAT-AD-PowerShell. Naša naloga je kopirati datoteke modula RSAT-AD-PowerShell na delovno postajo in jih poskušati uvoziti za zagon različnih cmdletov modula AD. Kot delovno postajo uporabljam posebej Windows 10 LTSC (na osnovi 1809), da pokažem, da so starejše različice modula RSAT-AD-PowerShell podprte v novejših operacijskih sistemih.

Najprej kopirajte vse potrebne datoteke AD modula iz sistema Windows Server 2012 R2. Ustvari mapo C: \ PS \ ADPoSh in skopira vsebino imenika vanjo C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Moduli.

Nato iz imenika C: \ Windows \ WinSxS kopirajte datoteke:

  • Microsoft.ActiveDirectory.Management.dll
  • Microsoft.ActiveDirectory.Management.resources.dll
Te knjižnice najdete z iskanjem v imeniku WinSxS. V mojem primeru na Windows Server 2012 R2 je celotna pot izgledala tako:

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

In

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

Zdaj kopirajte imenik C: \ PS \ ADPoSh (v mojem primeru je bila njegova velikost približno 1,3 MB) v računalnik, ki nima modula RSAT AD za Windows PowerShell modul. V tem primeru uporabljam računalnik z Windows 10.

Poskusimo uvoziti kopirani modul Active Directory v trenutno sejo PowerShell:

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

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

Modul je bil uspešno uvožen, zdaj lahko za upravljanje in pridobivanje informacij iz AD domene uporabite poljubne cmdlete AD (na primer get-aduser, get-adcomputer, get-adgroup itd.).

Ko pride do napake 'S strežnikom ni mogoče vzpostaviti stika. To je lahko zato, ker ta strežnik ne obstaja, trenutno ne deluje ali pa se ne izvajajo spletne storitve Active Directory'morate preveriti, ali so zagnane spletne storitve Active Directory (ADWS) na najbližjem krmilniku domene in ali požarni zid ne blokira TCP vrat 9389.

V domeni DC v vlogi ADWS najdete ukaz:

Get-ADDomainController -Odkrijte -Service "ADWS"

Razpoložljivost storitev lahko preverite z ukaznim ukazom Test-NetConnection:

tnc MSK-DC01 -port 9389

Če želite zagnati cmdlete na določenem DC-ju, morate uporabiti parameter -Server:

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

Dokler ne zaključite seje PowerShell, lahko uporabite ukazne plošče modula AD. Datoteke modulov lahko preko GPO kopirate datoteke v vse računalnike v domeni,