A PowerShell Active Directory használata az RSAT telepítése nélkül

Egy előző cikkben bemutattuk, hogyan lehet a Set-ADComputer parancsmagot használni egy bejelentkezési szkriptben az aktuális felhasználóval kapcsolatos információk tárolására az AD minden számítógépén. Az egyik kommentátor meglehetősen ésszerűen megjegyezte, hogy ebben az esetben az összes felhasználó számítógépére telepítenie kell az RSAT-ot az Active Directory for Windows PowerShell modullal, ami meglehetősen fárasztó. Úgy döntöttem, hogy megpróbálom kitalálni, vajon Használjon PS modult AD-parancsmagokhoz, telepítés nélkül a felhasználók számítógépére. És megtettem!

Tegyük fel, hogy van egy olyan kiszolgálónk, amelyen Windows Server 2012 R2 található, amelyre az RSAT és az RSAT-AD-PowerShell modul telepítve van. Feladatunk az, hogy az RSAT-AD-PowerShell modul fájljait másolja a munkaállomásra, és megpróbálja importálni őket az AD modul különféle parancsmagjainak futtatásához. Munkaállomásként kifejezetten a Windows 10 LTSC-t (1809 alapján) használom annak bemutatására, hogy az RSAT-AD-PowerShell modul régebbi verzióit támogatják az újabb operációs rendszerek.

Először másolja ki az összes szükséges AD-modul fájlt a Windows Server 2012 R2-ből. Hozza létre a C: \ PS \ ADPoSh mappát, és másolja bele a könyvtár tartalmát C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modulok.

Ezután a C: \ Windows \ WinSxS könyvtárból másolja át a fájlokat:

  • Microsoft.ActiveDirectory.Management.dll
  • Microsoft.ActiveDirectory.Management.resources.dll
Ezeket a könyvtárakat a WinSxS könyvtárban való kereséssel lehet megtalálni. A Windows Server 2012 R2 példámban a teljes útvonal így néz ki:

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

és

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

Másolja át a C: \ PS \ ADPoSh könyvtárat (az én esetemben kb. 1,3 MB volt) egy számítógépre, amely nem rendelkezik a Windows PowerShell RSAT AD moduljával. Ebben a példában a Windows 10 operációs rendszerrel rendelkező számítógépet használom.

Próbáljuk meg importálni a másolt Active Directory modult a jelenlegi PowerShell-munkamenetbe:

Importmodul "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.dll"

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

A modul sikeresen importálva van, így az AD modul bármely parancsmagja segítségével kezelheti és lekérdezheti az információkat az AD domainről (például get-aduser, get-adcomputer, get-adgroup stb.).

Amikor hiba történik ”Nem sikerült kapcsolatba lépni a szerverrel. Ennek oka lehet az, hogy ez a szerver nem létezik, jelenleg nem működik, vagy nem fut az Active Directory webszolgáltatások"ellenőrizni kell, hogy az Active Directory webszolgáltatások (ADWS) a legközelebbi tartományvezérlőn elindulnak-e, és hogy a tűzfal nem blokkolja a 9389 TCP-portot.

A DC tartományban található az ADWS szerepkör a következő paranccsal:

Get-ADDomainController -Discover -Service "ADWS"

A szolgáltatás elérhetőségét a Test-NetConnection parancsmag segítségével ellenőrizheti:

tnc MSK-DC01 -port 9389

A parancsmagok futtatásához egy adott DC-n a -Server paramétert kell használni:

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

Az AD modul parancsmagjait addig is használhatja, amíg bezárja a PowerShell munkamenetet. Modul fájlok A GPO-n keresztül fájlokat másolhat a domain összes számítógépére,