Existuje několik scénářů, jako součást REKLAMNÍ systémy, kde potřebujeme získat Zásad Skupiny informace pro spravované počítače. Obecně existují dvě metody, jak získat informace.
Metoda 1:
nejčastější metodou je použití gpresult.příkaz exe, který je podrobně popsán v tomto článku technet. To funguje dobře, pouze pokud se uživatel, který příkaz provede, přihlásil alespoň jednou v cílovém počítači. Jinak to hází pod chybu.,
uživatel nemá RSOP Data
Metoda 2:
Metoda 2 je použití Get-GPResultantSetOfPolicy PowerShell příkazového dovolte, která je popsána zde. Tento příkaz také funguje podobně jako metoda 1 a vyžaduje, aby se uživatel alespoň jednou přihlásil.
použití metody 1 a metody 2, i když chceme informace o Zásadách skupiny pouze pro počítač bez ohledu na uživatele, není možné bez přihlášení uživatele alespoň jednou, protože příkaz načte výslednou sadu zásad, které jsou vynuceny pro zadaného uživatele v cílovém počítači.,
řešení:
Chcete-li tyto problémy překonat, použijte objekt správy zásad skupiny COM, který je základem pro gpresult.EXE a Get-ResultantSetOfPolicy PS command-let slouží lépe. Objekt COM můžeme použít ve skriptování VB nebo PS. Zde budeme diskutovat o jeho použití v PS skriptování.
#Inicializace Proměnné,
$Výstupní_soubor = „C:TempGPOExport.html“
$Název_počítače = „test.contoso.,com“
$UserName = „john“
první věc, kterou můžeme udělat, je vytvořit instanci GPMgmt.Objekt GPM. Tento objekt můžeme použít, pokud je v počítači nainstalována konzola správy zásad skupiny.
$ gpm = New-Object-ComObject GPMgmt.Gpm
dalším krokem je získání všech konstant a uložení do proměnné.
$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 = $UserName
Poznámka: Pokud potřebujeme data RSOP pro jediný Počítač bez zvážení Uživatele, uložené zásady Skupiny dat, musíme použít „RsopLoggingNoUser“ konstantní hodnotu namísto $gpmRSOP.LoggingUser.
$ gpmrsop.LoggingFlags = $Konstanty.RsopLoggingNoUser
dalším krokem je dotaz na cílový počítač pro data RSOP GPO.
$ gpmrsop.CreateQueryResults ()
pro export dat do výstupního souboru pod příkazem se používá.,
HTML:
$gpmrsop.GenerateReportToFile ($konstanty.ReportHTML,$výstupní_soubor)
XML:
$gpmRSOP.GenerateReportToFile ($konstanty.ReportXML,$výstupní_soubor)
Tak pomocí GPMgmt.Objekt GPM COM, můžeme získat výslednou sadu skupinových zásad pro cílový počítač s nebo bez zvážení uživatele a také bez požadavku na přihlášení uživatele alespoň jednou.