PowerShell: hämta Grupprincip detaljer för fjärrdator

det finns flera scenarier som en del av annonshantering där vi behöver hämta Grupprincip information för hanterade datorer. Det finns i allmänhet två metoder för att få informationen.

Metod 1:

den vanligaste metoden är att använda gpresult.exe kommando som beskrivs i denna technet artikel. Detta fungerar bra endast om den användare som utför kommandot har loggat in en gång åtminstone i måldatorn. Annars kastar under fel.,

användaren har inte Rsop-Data

Metod 2:

Metod 2 är att använda Get-GPResultantSetOfPolicy PowerShell kommando-låt som beskrivs här. Det här kommandot fungerar också som Metod 1 och kräver att användaren loggar in minst en gång.

använda Metod 1 och Metod 2, även om vi vill att grupprincip informationen endast för datorn oavsett användare, det är inte möjligt utan användaren inloggad minst en gång som kommandot hämtar resulterande uppsättning policyer som verkställs för angiven användare på måldatorn.,

lösning:

för att lösa dessa problem, med hjälp av Group Policy Management COM-objekt som är basen för gpresult.exe och Get-ResultantSetOfPolicy PS command-let tjänar bättre. Vi kan använda COM-objektet i VB eller PS-skript. Här kommer vi att diskutera om att använda den i PS Scripting.

#initiera variabler

$OutputFile = ”C:TempGPOExport.html”

$ComputerName = ”test.contoso.,div id=” fcc8767551″>

$UserName = ”john ”

det första vi gör är att skapa en instans av GPMgmt.GPM objekt. Vi kan använda det här objektet om konsolen för grupprincip-hantering är installerad i datorn.

$gpm = New-Object-ComObject GPMgmt.GPM

nästa steg är att få alla konstanter och spara den i en variabel.

$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

Obs: Om vi behöver VISAS data för endast Dator utan hänsyn till att Användaren åläggs Grupp Politiska uppgifter, måste vi använda ”RsopLoggingNoUser” konstant värde istället för $gpmRSOP.LoggingUser.

$gpmRSOP.LoggingFlags = $ Konstanter.Rsoploggingnouser

nästa steg är att fråga måldatorn för rsop GPO-data.

$gpmRSOP.CreateQueryResults ()

för att exportera data till en utdatafil under kommandot används.,

i HTML:

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

XML:

$gpmRSOP.GenerateReportToFile ($konstanter.ReportXML,$outputfile)

således använder GPMgmt.GPM COM-objekt, vi kan få resulterande uppsättning grupprinciper för måldator med eller utan att överväga användaren och även utan krav på användarloggning minst en gång.

Share

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *