PowerShell: regăsiți detaliile politicii de grup pentru computerul de la distanță

există mai multe scenarii ca parte a managementului anunțurilor în care trebuie să regăsim informații despre politica de grup pentru computerele gestionate. Există, în general, două metode pentru a obține informații.

Metoda 1:

metoda cea mai comună este de a utiliza gpresult.comanda exe care este detaliată în acest articol technet. Acest lucru funcționează bine numai dacă acel utilizator care execută comanda s-a conectat cel puțin o dată în computerul țintă. Altfel aruncă eroarea de mai jos.,

utilizatorul nu are date RSOP

Metoda 2:

Metoda 2 este de a utiliza comanda Get-GPResultantSetOfPolicy PowerShell-let care este detaliat aici. Această comandă funcționează, de asemenea, similar cu Metoda 1 și cere utilizatorului să se conecteze cel puțin o dată.

folosind metoda 1 și metoda 2, chiar dacă dorim informațiile despre politica de grup numai pentru computer, indiferent de utilizator, nu este posibil fără ca utilizatorul să fie conectat cel puțin o dată, deoarece comanda preia setul de politici care sunt aplicate pentru utilizatorul specificat pe computerul țintă.,

soluție:

pentru a depăși aceste probleme, folosind Managementul Politicii de grup obiect COM, care este baza pentru gpresult.exe și Get-ResultantSetOfPolicy PS comandă-let servește mai bine. Putem folosi obiectul COM în scripting VB sau PS. Aici vom discuta despre utilizarea acestuia în PS Scripting.

#a Inițializa Variabile

$Fișierieșire = „C:TempGPOExport.html”

$Numecomputer = „test.contoso.,com”

$UserName = „john”

primul lucru pe care îl facem este de a crea o instanță a GPMgmt.Obiect GPM. Putem folosi acest obiect dacă consola de gestionare a politicilor de grup este instalată în computer.

$gpm = nou-obiect-ComObject gpmgmt.GPM

următorul pas este să obțineți toate constantele și să le salvați într-o variabilă.

$constante = $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

Notă: Dacă avem nevoie de RSOP date numai pentru Computer fără a ține cont de Utilizator impuse de Politica de Grup de date, avem nevoie pentru a utiliza „RsopLoggingNoUser” valoare constantă în loc de $gpmRSOP.LoggingUser.

$gpmrsop.LoggingFlags = $Constante.RsopLoggingNoUser

următorul pas este de a interoga computerul țintă pentru datele RSOP GPO.

$gpmrsop.CreateQueryResults()

Pentru a exporta date într-un fișier de ieșire comanda de mai jos este folosit.,

HTML:

$gpmRSOP.GenerateReportToFile ($constante.ReportHTML,$fișierieșire)

XML:

$gpmRSOP.GenerateReportToFile ($constante.ReportXML,$fișierieșire)

Astfel, folosind GPMgmt.GPM COM obiect, putem obține rezultat Set de Politici de grup Pentru Calculator țintă, cu sau fără a lua în considerare utilizatorul și, de asemenea, fără cerința de logare utilizator cel puțin o dată.

Share

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *