PowerShell: Hae Group Policy tiedot Kauko-Tietokone

On olemassa useita skenaarioita osana AD hallinta, jossa meidän täytyy hakea Group Policy tietoa hallittuja tietokoneita. Tiedon saamiseen on yleensä kaksi tapaa.

Menetelmä 1:

yleisin tapa on käyttää gpresult.exe komento, joka on yksityiskohtainen tässä technet artikkelissa. Tämä toimii hyvin vain, jos komennon suorittava käyttäjä on kirjautunut sisään kerran-ainakin kohdetietokoneessa. Muuten se heittää alle virheen.,

käyttäjällä ei ole RSOP Data

Menetelmä 2:

Menetelmä 2 on käyttää Get-GPResultantSetOfPolicy PowerShell komento-anna, joka on yksityiskohtainen täällä. Tämä komento toimii myös samalla tavalla kuin menetelmä 1 ja vaatii käyttäjää kirjautumaan-ainakin kerran.

Käyttämällä Menetelmää 1 ja Menetelmää 2, vaikka haluamme group policy tietoja vain tietokoneen riippumatta siitä, käyttäjä, se ei ole mahdollista ilman, että käyttäjä kirjautunut sisään at-vähintään kerran, kun komento hakee tuloksena joukko politiikkoja, jotka ovat voimassa tietyn käyttäjän kohde-tietokone.,

Ratkaisu:

ratkaista näitä kysymyksiä, käyttämällä Group Policy Management COM-Objekti, joka on perusta gpresult.exe and Get-Resultantsetpoliticy PS command-let palvelee paremmin. Voimme käyttää COM objekti VB tai PS scripting. Tässä me keskustelemme sen käyttämisestä PS Scripting.

#Alustaa Muuttujat

$OutputFile = ”C:TempGPOExport.html”

$Tietokonenimi = ”testi.contoso.,com”

$UserName = ”john”

ensimmäinen asia mitä teemme on luoda esimerkiksi GPMgmt.GPM-objekti. Voimme käyttää tätä objektia, jos ryhmäkäytännön hallintakonsoli on asennettu tietokoneeseen.

$gpm = New-Object-ComObject GPMgmt.GPM

Seuraava askel on saada kaikki vakiot ja tallentaa sen muuttujaan.

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

Huomautus: Jos tarvitsemme RSOP data vain Tietokone, ilman, että otetaan huomioon Käyttäjän käyttöön Group Policy tiedot, meidän täytyy käyttää ”RsopLoggingNoUser” vakioarvo sijasta $gpmRSOP.LoggingUser.

$gpmRSOP.LoggingFlags = $ Vakiot.RsopLoggingNoUser

Seuraava askel on kyselyn kohde-tietokone RSOP GPO tiedot.

$gpmRSOP.CreateQueryResults()

tietojen vienti lähtö-tiedostosi alla komentoa käytetään.,

HTML:

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

XML:

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

Näin käytät GPMgmt.GPM COM-objekti, voimme saada aikaan joukon ryhmäkäytäntöjä Kohdetietokoneelle käyttäjän kanssa tai ottamatta huomioon käyttäjää ja myös ilman käyttäjän kirjaamista vähintään kerran.

Share

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *