PowerShell :Csoportházirend-adatok lekérése távoli számítógéphez

több forgatókönyv létezik a HIRDETÉSKEZELÉS részeként, ahol csoportházirend-információkat kell letölteni a kezelt számítógépekhez. Általában két módszer van az információ megszerzésére.

1. módszer:

a leggyakoribb módszer a gpresult használata.exe parancs, amelyet ebben a technet cikkben részletezünk. Ez csak akkor működik jól, ha a parancsot végrehajtó felhasználó legalább egyszer bejelentkezett a célszámítógépbe. Különben a hiba alatt dob.,

a felhasználó nem rendelkezik RSoP adatokkal

2. módszer:

2. módszer a Get-GPResultantSetOfPolicy PowerShell parancs használata – let amely itt részletes. Ez a parancs az 1. módszerhez hasonlóan működik, ezért a felhasználónak legalább egyszer be kell jelentkeznie.

az 1. módszer és a 2. módszer használata, még akkor is, ha a csoportházirend-információkat csak a számítógépre akarjuk, felhasználótól függetlenül, ez nem lehetséges anélkül, hogy a Felhasználó legalább egyszer bejelentkezett volna, mivel a parancs beolvassa a célszámítógépen a megadott felhasználóra kényszerített házirendeket.,

megoldás:

ezeknek a problémáknak a leküzdéséhez használja a Csoportházirend-kezelő COM objektumot, amely a gpresult alapja.exe and Get-ResultantSetOfPolicy PS command-let jobban szolgál. Tudjuk használni a COM objektum VB vagy PS scripting. Itt megvitatjuk a PS Scriptingben való használatát.

#inicializálja a változókat

$OutputFile = ” C:TempGPOExport.html ”

$ComputerName = “test.contoso.,com ”

$UserName = “john”

Az első dolog, amit teszünk, hogy létrehozunk egy példányt a GPMgmt-ből.GPM objektum. Ezt az objektumot akkor használhatjuk, ha a Csoportházirend-kezelő konzol telepítve van a számítógépre.

$gpm = New-Object-ComObject GPMgmt.GPM

következő lépés az összes konstans megszerzése, majd egy változóba mentése.

$constants = $gpm.,GetConstants()

Now create reference RSOP object using required constants.

$gpmRSOP = $GPM.GetRSOP($Constants.RSOPModeLogging,$null,0)

Next step is to specify Target Computer and User.

$gpmRSOP.LoggingComputer = $ComputerName

$gpmRSOP.,LoggingUser = $ felhasználónév

Megjegyzés: Ha szükségünk van az RSoP adatok csak számítógép figyelembe vétele nélkül a felhasználó által kiszabott Csoportházirend-ADATOK, meg kell használni “RsopLoggingNoUser” állandó érték helyett $gpmrsop.LoggingUser.

$gpmrsop.LoggingFlags = $Konstansok.RsopLoggingNoUser

következő lépés az RSoP GPO adatok célszámítógépének lekérdezése.

$gpmrsop.CreateQueryResults ()

az adatok exportálása a parancs alatti kimeneti fájlba kerül.,

HTML:

$gpmrsop.Generatereportofile ($konstansok.ReportHTML,$outputfile)

XML:

$gpmrsop.Generatereportofile ($konstansok.ReportXML,$outputfile)

így a GPMgmt.GPM COM objektum, megkaphatjuk az eredményül kapott Csoportházirendeket a célszámítógéphez a felhasználó figyelembevételével vagy anélkül, valamint a felhasználói naplózás követelménye nélkül legalább egyszer.

Share

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük