
最近、上司のプロキシ設定が自動的に適用されるのを止められるかと尋ねられました。私たちのプロキシ設定はグループ ポリシーによって設定されているので、どの GPO であるかを簡単に判断して、GPO スコープがプロキシ設定を適用するために使用するグループから上司を削除するだけでよいと考えました。
私たちのグループ ポリシーは非常に複雑で、さまざまなユーザーやコンピューターに多数の異なる GPO が適用されます。
問題は、各 GPO を調べてそれがユーザー/コンピューター アカウントに適用されるかどうかを確認せずに、設定が適用されている GPO を見つけるにはどうすればよいかということです。
念のため、彼のユーザー アカウントとコンピューターの両方に対してグループ ポリシー モデリング ウィザードを実行しましたが、彼に固有のものは見つかりませんでした。プロキシ設定に関係する唯一の GPO は、彼のアカウントが属していないユーザー OU にあります。つまり、GPO は Domain Users\Users に適用され、彼のアカウントは Domain Users\IT にあります。
何かアイデアはありますか? 彼のアカウントにどのような設定がされているかをよりよく知らせてくれるツールはありますか? PowerShell 経由で調べることはできますか?
答え1
gpresult /h c:\temp\policy.htm
ターゲットコンピュータ上で実行して結果のポリシーを取得できます。また、リモートで実行することもできます。psexec(cmdコマンドを使用) またはパワーシェル。
もう一つの選択肢は、rsop.mscターゲットコンピュータ上で。
注意: 影響を受けるユーザーのアカウントに適用されているポリシーを収集するには、gpresult と rsop の両方を影響を受けるユーザーの下で実行する必要があります。
Powershellでは、いずれかのコマンドレットを使用する必要がありますGet-GPResultantSetOfPolicyパラメータ付き -コンピューターそして-ユーザー
Get-GPResultantSetOfPolicy -user someuser -computer contoso.com\computer-08 -reporttype html -path c:\reports\UserAndComputerReport.html
注: Get-GPResultantSetOfPolicy コマンドレットを実行するには、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)