PowerShell: Hent Gruppen oplysninger om Politik for Ekstern Computer

Der er flere scenarier, som en del af AD management, hvor vi er nødt til at hente Group Policy oplysninger for administrerede computere. Der er generelt to metoder til at få oplysningerne.

Metode 1:

den mest almindelige metode er at bruge gpresult.e .e kommando, som er beskrevet i denne technet artikel. Dette fungerer kun godt, hvis den bruger, der udfører kommandoen, har logget ind en gang i det mindste i målcomputeren. Ellers kaster det under fejl.,

brugeren ikke har RSOP Data

Metode 2:

Metode 2 er at bruge Get-GPResultantSetOfPolicy PowerShell-kommando-lad som er beskrevet her. Denne kommando fungerer også på samme måde som Metode 1 og kræver, at brugeren logger ind mindst en gang.

brug af Metode 1 og Metode 2, selvom vi kun ønsker gruppepolitisk information for computeren uanset bruger, er det ikke muligt uden at brugeren er logget ind mindst en gang, da kommandoen henter resulterende sæt politikker, der håndhæves for specificeret bruger på målcomputeren.,

løsning:

for at overvinde disse problemer, ved hjælp af Group Policy Management COM Object, som er grundlaget for gpresult.e ande og Get-ResultantSetOfPolicy PS kommando-lad tjener bedre. Vi kan bruge com-objektet i VB eller PS scripting. Her vil vi diskutere om at bruge det i PS Scripting.

#Initialisere Variabler

$Outputfil = “C:TempGPOExport.html”

$ComputerName = “test.contoso.,kom”

$UserName = “john”

Den første ting, vi gør, er at oprette en instans af GPMgmt.GPM objekt. Vi kan bruge dette objekt, hvis Group Policy Management Console er installeret på computeren.

$gpm = nyt-objekt-ComObject GPMgmt.Gpm

næste trin er at få alle konstanter og gemme dem i en variabel.

$konstanter = $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 = $Brugernavn

Bemærk: Hvis vi har brug for den RSOP data for kun Computer uden hensyntagen til Brugeren, der pålægges af gruppepolitik data, vi skal bruge “RsopLoggingNoUser” konstant værdi i stedet for $gpmRSOP.LoggingUser.

$gpmRSOP.LoggingFlags = $Konstanter.RsopLoggingNoUser

næste trin er at forespørge målcomputeren for RSOP GPO-data.

$gpmRSOP.Create .ueryresults ()

for at eksportere data til en outputfil under kommando bruges.,

HTML:

$gpmRSOP.GenerateReportToFile($konstanter.ReportHTML,$outputfil)

XML:

$gpmRSOP.GenerateReportToFile($konstanter.Report ,ml,$outputfile)

således bruger GPMgmt.GPM COM-objekt, vi kan få resulterende sæt gruppepolitikker for målcomputeren med eller uden at overveje brugeren og også uden krav om brugerlogning mindst en gang.

Share

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *