我如何找到哪个 GPO 正在应用代理

我如何找到哪个 GPO 正在应用代理

最近有人问我是否可以阻止我的老板自动应用他的代理设置。我们的代理设置是通过组策略设置的,所以我认为应该很容易确定它是哪个 GPO,然后只需将他从 GPO 范围用于应用它的组中移除即可。

我们的组策略非常复杂,有相当多的不同的 GPO 应用于各种用户和计算机。

问题是,我如何才能找到应用该设置的 GPO,而不必逐一检查并确定它是否适用于他的用户/计算机帐户?

我已经针对他的用户帐户和计算机运行了组策略建模向导(以防万一),但我找不到任何特定于他的信息。唯一与代理设置有关的 GPO 位于他的帐户不在其中的用户 OU 中。即 GPO 适用于域用户\用户,而他的帐户位于域用户\IT 中。

有什么想法吗?有没有一种工具可以更好地告诉我他的帐户上设置了哪些设置?可以通过 powershell 进行查询吗?

答案1

您可以gpresult /h c:\temp\policy.htm在目标计算机上运行以获取结果策略。您也可以使用远程运行它执行(使用 cmd 命令)或电源外壳

另一个选择是运行rsop命令在目标计算机上。

注意:gpresult 和 rsop 都应在受影响的用户下完成,以收集应用于其帐户的策略。

在 Powershell 中,你需要使用命令行获取 GPResultantSetOfPolicy带有参数 -电脑-用户

Get-GPResultantSetOfPolicy -user someuser -computer contoso.com\computer-08 -reporttype html -path c:\reports\UserAndComputerReport.html 

注意:要运行 Get-GPResultantSetOfPolicy cmdlet,您必须使用提升的权限启动 Windows PowerShell

或者使用以下利用 COM 对象的 Powershell 代码:

$OutputFile = “C:\Temp\GPOExport.html”
$ComputerName = “test.contoso.com”
$UserName = “john”
$gpm = New-Object -ComObject GPMgmt.GPM
$constants = $gpm.GetConstants()

$gpmRSOP = $GPM.GetRSOP($Constants.RSOPModeLogging,$null,0)
$gpmRSOP.LoggingComputer = $ComputerName
$gpmRSOP.LoggingUser = $UserName

$gpmRSOP.CreateQueryResults()
$gpmRSOP.GenerateReportToFile($constants.ReportHTML,$outputfile)

相关内容