PowerShell :récupérer les détails de la stratégie de groupe pour L’ordinateur distant

Il existe plusieurs scénarios dans le cadre de la gestion AD où nous devons récupérer les informations de stratégie de groupe pour les ordinateurs gérés. Il existe généralement deux méthodes pour obtenir l’information.

Méthode 1:

la méthode la plus courante consiste à utiliser gpresult.commande exe qui est détaillée dans cet article technet. Cela ne fonctionne bien que si cet utilisateur exécutant la commande s’est connecté une fois au moins sur l’ordinateur cible. Sinon, il jette une erreur ci-dessous.,

L’utilisateur n’a pas de données RSOP

Méthode 2:

La Méthode 2 consiste à utiliser la commande Get-GPResultantSetOfPolicy PowerShell-let qui est détaillée ici. Cette commande fonctionne également de manière similaire à la méthode 1 et nécessite que l’utilisateur se connecte au moins une fois.

en utilisant les méthodes 1 et 2, même si nous voulons les informations de stratégie de groupe uniquement pour l’ordinateur quel que soit l’utilisateur, cela n’est pas possible sans que l’utilisateur se connecte au moins une fois car la commande récupère l’ensemble résultant de stratégies qui sont appliquées pour l’utilisateur spécifié sur l’ordinateur cible.,

Solution:

pour surmonter ces problèmes, utilisez L’objet COM de gestion de stratégie de groupe qui est la base de gpresult.exe et ResultantSetOfPolicy PS de commande sert le mieux. Nous pouvons utiliser L’objet COM dans les scripts VB ou PS. Ici, nous allons discuter de son utilisation dans les scripts PS.

#Initialiser des Variables

OutputFile$ = « C:TempGPOExport.il est possible d’utiliser le code html”

test ComputerName = « test.contoso.,com”

$UserName = « john”

La première chose à faire est de créer une instance de la GPMgmt.Objet GPM. Nous pouvons utiliser cet objet si la console de gestion des stratégies de groupe est installée sur l’ordinateur.

GP gpm = New-Object-ComObject GPMgmt.GPM

l’étape suivante consiste à obtenir toutes les constantes et à les enregistrer dans une variable.

const constantes = GP 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 UserName

Remarque: Si nous avons besoin des données RSOP uniquement pour L’ordinateur sans tenir compte des données de stratégie de groupe imposées par L’utilisateur, nous devons utiliser la valeur constante « RsopLoggingNoUser” au lieu de $gpmRSOP.LoggingUser.

gp gpmRSOP.LoggingFlags = Const Constantes.RsopLoggingNoUser

l’étape suivante consiste à interroger L’ordinateur cible pour les données GPO RSOP.

gp gpmRSOP.CreateQueryResults ()

pour exporter des données vers un fichier de sortie ci-dessous, la commande est utilisée.,

HTML:

GP gpmRSOP.GenerateReportToFile (const constantes.ReportHTML, outputfile$)

XML:

$gpmRSOP.GenerateReportToFile (const constantes.ReportXML,outp outputfile)

utilisant ainsi GPMgmt.Objet GPM COM, nous pouvons obtenir un ensemble résultant de stratégies de groupe pour L’ordinateur cible avec ou sans tenir compte de l’Utilisateur et également sans exigence de journalisation de l’utilisateur au moins une fois.

Share

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *