网站搜索

如何查找 GPO 注册表设置


对于大型 GPO 结构,跟踪所有设置可能具有挑战性。

此外,如果您是顾问或面临未知基础设施的新员工,那么了解 GPO 的概述可能非常耗时。

除非你从你的袖子里拿出一点 PowerShell 魔法!

在其他文章中我们已经介绍过:

  • 如何查找 GPO 文件夹重定向
  • 如何查找GPO软件安装文件夹
  • 如何查找 GPO 驱动器映射
  • 如何查找 GPO 登录脚本

本文将使您能够通过注册表设置识别 GPO。

(有关如何创建自己的 GPO 分析脚本的详细说明,请阅读此内容)

使用 PowerShell 通过注册表设置识别 GPO

人们很容易使用 GPO 名称并尝试猜测它们处理哪些设置。

但如果您有超过 5 个 GPO,则单击所有 GPO 来验证实际设置将非常耗时。

如果您想 100% 知道哪个 GPO 保存了注册表设置的设置 - 请查看此脚本:

Function Get-GPOReg ($ExtData, $Gpo, $Scope) {
    $ArrResult = @()
    ForEach ($ExtensionData In $ExtData) {
        If ($ExtensionData.Name -eq "Registry") {
            $RegSettings = $ExtensionData.Extension.Policy
            ForEach ($RegSetting In $RegSettings) {
                $GPORegConfig = New-Object PSObject -Property @{
                    GPO          = $GPO.Name
                    LinkCount    = $LinkCount
                    Enabled      = $Enabled
                    Name         = $RegSetting.Name
                    Type         = $Scope
                }
                $ArrResult += $GPORegConfig
            }
        }
    }
    Write-Output $ArrResult
}
  
$Reports = Get-GPO -All | Get-GPOReport -ReportType Xml
$Scripts = @()
ForEach ($Report In $Reports) {
    $GPO = ([xml]$Report).GPO
    $LinkCount = ([string[]]([xml]$Report).GPO.LinksTo).Count
    $Enabled = $GPO.Computer.Enabled
    $ExtData = $GPO.Computer.ExtensionData
    $Scripts += Get-GPOReg $ExtData $GPO "Computer"
    $Enabled = $GPO.User.Enabled
    $ExtData = $GPO.User.ExtensionData
    $Scripts += Get-GPOReg $ExtData $GPO "User"
}
Write-Output $Scripts | ft GPO, LinkCount, Enabled, Name, Type

该脚本的输出将类似于以下内容:

GPO                      LinkCount Enabled Name                                                      Type
---                      --------- ------- ---                                                       ----
G.C.WaitForNetwork       1         true    Always wait for the network at computer startup and logon Computer
G.C.DisableWindowsUpdate 2         true    Configure Automatic Updates                               Computer
G.C.OfflineTemplates     5         true    Personal templates path for Word                          User

掌握了此概述后,您就有了进一步检查 GPO 脚本的良好起点。

例如,如果您正在查找配置 Windows 更新的 GPO,则可以在“名称”列中搜索“自动更新”。

这使您可以快速识别具有特定设置的任何和所有 GPO。

请参阅这篇文章,了解有关 GPO、应用程序顺序、过滤等的全面入门知识。

整合 AD 和 Office 365 管理

嘿,现在请您注意:

查看我们适用于 AD 用户和计算机的出色 Office 365 管理管理单元:

Easy365Manager 将允许您在 AD 用户和计算机的用户属性中执行所有日常 Office 365 管理。

Easy365Manager 甚至消除了对复杂 PowerShell 脚本的需求,例如,在委派日历访问时:

在您自己的环境中测试所有功能是完全免费的。

在此下载功能齐全的 30 天试用版。

您可以将其安装到任何具有 AD 用户和计算机的 PC 或服务器上,它不会更改 AD 或您的基础设施,并且可以轻松卸载。

相关文章