如何生成组策略对象(GPO)报告使用PowerShell——一个详细的指南

阅读时间:12分钟。

可以有许多gpo应用到您的域管理员。生成详细报告并找出哪些适用于您的计算机和用户。

如何使用PowerShell生成组策略对象报告吗 如何使用PowerShell生成组策略对象报告吗

假设你是一个系统管理员在一个活跃的工作目录或用户是一个域的一部分。在这种情况下,您可能需要查看或创建报告的gpo应用于您的组织,或者你的用户帐户,特别是。

可能有成百上千的gpo创建和应用在你的领域,和跟踪它们,并组织单位(诸多)申请,可以是一个头痛。这就是为什么你可以快速生成gpo的详细报告PowerShell在几秒内,找到各种各样的信息。

在本文中,我们将使用Get-GPOReportGPResult与不同的参数和开关命令生成XML和HTML报告并得到深入的信息不同的gpo。

这篇文章是为高级用户设计以及那些不精通技术和没有理解gpo是什么,以及它们如何工作。我们容忍我们复习一些基础知识。

什么是组策略对象(gpo)

在我们简要了解gpo的一件或两件,我们建议你通过单独的文章活动目录和森林如果你不知道它们是什么。

组策略对象的集合政策应用由系统管理员在整个域。可以有任意数量的gpo应用到不同的用户,电脑,和组。每个GPO拥有一组政策,将自动适用于组织单位(OU)联系。

例如,如果你的电脑是你的一部分名为“人力资源部门”,那么所有的gpo的策略和规则应用到“人力资源部门“你将自动适用于你的电脑。

政策有控制内的项目我们公司能做什么和不能做,他们可以访问哪些资源等;确保整个网络基础设施。

这也是其中一个原因去生成GPO报告可能对你有益。

Get-GPOReport和GPResult是什么

这两个Get-GPOReportGPResultPowerShell命令,您可以使用视图和编译gpo报告。这些都可以使用该系统管理员和最终用户许可)(只要不是为了得到一个洞察应用gpo。

上述命令或多或少都做同样的事情——获得详细信息集团政策领域内的应用。然而,Get-GPOReport更关注生成报告的GPResult专注于获取和查看信息,甚至对远程计算机和特定的用户。

这两个cmdlets可以用于各种开关和参数来过滤结果或使用它们来寻找特定信息。

下面的表列出了可以使用的交换机每个命令:

  • Get-GPOResult参数表

    参数 细节
    - 获得所有gpo的详细信息
    - name 特定的GPO的名字
    guid 特定的GPO的GUID
    -ReportType HTML或XML输出
    路径 完整路径保存报告
    域的名称
    -服务器 一个特定的服务器的名称
    参数Get-GPOResult命令
  • 表的GPResult开关

    开关 细节
    / R 应用gpo的细节
    /秒 获取远程计算机上应用gpo的细节
    /小时 生成一个HTML报告
    / U 得到应用政策对特定用户的详细信息(使用/ R)
    / P 用户帐户的密码(使用/ U)
    /范围 显示了本地计算机策略和组细节或用户
    /力 有力地覆盖现有的报告与同名(使用/小时)
    /详细 显示额外的信息,如安全特权,公钥的政策等。
    开关为GPResult命令

既然我们了解不同的开关和参数与每个命令,让我们继续看到如何使用它们。然而,有一件事你必须考虑在继续之前产生的GPO的报告,这是先决条件。

之前产生GPO的报告

你需要正确的权限和访问权限能够获取GPO信息。如果你的用户或计算机没有所需的特权,然后运行任何cmdlets可能导致错误。这里有一些条件满足:

  • 你必须安装组策略PowerShell模块之前执行任何其他任务。此模块的一部分远程服务器管理工具(RSAT)。学习如何在Windows上安装RSAT工具,或者您可以使用下面的命令在PowerShellWindows服务器安装:

    Install-WindowsFeature - name GPMC
  • 你登录的设备是广告领域的一部分,你将检索gpo。

  • 您正在使用一个域用户帐户至少gpo的只读访问。

如果你的电脑和用户帐户满足这些条件,你现在可以继续生成XML或HTML报告使用给定的指导下。

列出所有在PowerShell gpo

如果你已经知道一个特定GPO的名字你想获得的细节,你可以跳过这一节。然而,让所有的gpo域的完整列表,在一个运行以下命令高架PowerShell实例:

Get-GPO -
列出所有在PowerShell GPO的细节
列出所有在PowerShell GPO的细节

记下“显示名称”GPO您想要得到更多的细节。这些信息将是有用的在生成报告时特定的GPO。

使用在PowerShell Get-GPOReport生成GPO报告

创建HTML, XML报告一个GPO

如前所述,您可以使用生成的HTML和XML报告Get-GPOReportcmdlet。在本节中,我们向您展示如何创建它们都使用的名字GPO以及它GUID

生成GPO报告使用GPO的名字

  • GPO报告导出到HTML使用GPO的名字

    创建一个为单个GPO GPO报告在HTML中使用它的名字,在PowerShell使用下面的语法:

    (NameOfGPO)替换为实际的GPO的名称(在上述章节中指出,(PathToSaveFile)的完整路径,你想生成HTML报告。

    Get-GPOReport - name [NameOfGPO]的-ReportType“HTML”路径“[PathToSaveFile] . HTML”
    生成一个HTML报告单一使用PowerShell得到GPOReport GPO
    生成一个HTML报告单一使用PowerShell Get-GPOReport GPO

    正如你所看到的在上面的图片中,生成HTML报告,您现在可以使用默认打开web浏览器。这份报告将会看起来像这样:

    单一的GPO HTML报告
    单一的GPO HTML报告

    正如您可以看到的,该报告给完整的GPO的细节,包括它的域,地位,或者是应用等。

  • 出口使用GPO GPO报告XML名称

    在XML格式生成一个GPO报告,所有你需要做的是改变的值ReportType“XML”文件扩展名的路径。使用下面的语法来生成一个XML报告一个在PowerShell GPO使用其名称:

    Get-GPOReport - name [NameOfGPO]的-ReportType“XML”路径“[PathToSaveFile] . XML”
    生成一个XML报告一个GPO使用PowerShell得到GPOReport 1
    生成一个XML报告单一使用PowerShell Get-GPOReport GPO

    你现在可以打开XML报告在任何支持应用程序。

    单一的GPO XML报告
    单一的GPO XML报告

    从上图可以看到,XML报告列出了更多细节相比一个HTML报告,这就是为什么它通常是首选的系统管理员在一个HTML报告。

生成GPO报告使用GPO GUID

GUID是一个独特的标识符分配给每个GPO。你也可以生成报告为单个GPO使用它的GUID。然而,这个过程还需要你知道GPO的名字。在下面的步骤中,GPO的名称是用来获取它的GUID。

  • GPO报告导出到HTML使用GPO GUID

    使用以下cmdlets和运行它们在同一序列获得单一的GPO的GUID,然后生成HTML报告。替换所有必要的变量根据你的条件和要求:

    $ guid = (Get-GPO - name [NameOfGPO])。Id Get-GPOReport guid guid -ReportType美元“HTML”路径“[PathToSaveFile] . HTML”
    生成一个HTML报告一个GPO使用PowerShell GPOReport使用GUID
    生成一个HTML报告一个GPO使用PowerShell Get-GPOReport使用GUID
  • 出口GPO报告XML使用GPO GUID

    类似于HTML的方法,您还可以生成一个XML报告一个GPO使用GUID通过改变”ReportType”到“XML”和文件扩展名的路径。

    $ guid = (Get-GPO - name [NameOfGPO])。Id Get-GPOReport guid guid -ReportType美元“XML”路径“[PathToSaveFile] . XML”
    生成一个XML报告一个GPO使用PowerShell GPOReport使用GUID
    生成一个XML报告一个GPO使用PowerShell Get-GPOReport使用GUID

在所有gpo创建HTML, XML报告

之前,我们讨论了两种方法来生成一个XML或HTML报告在一个GPO使用其名称或GUID。如何,让我们向您展示如何生成报告的gpo应用在你的域。

对所有gpo生成报告,您不需要使用- nameguid参数。相反,我们使用-

生成一个HTML报告所有来自PowerShell的gpo使用以下cmdlet:

Get-GPOReport——-ReportType Html路径”PathToSaveFile . Html”

生成一个XML报告所有从PowerShell gpo使用以下cmdlet:

Get-GPOReport——-ReportType XML路径”(PathToSaveFile) . XML”
在所有gpo XML创建HTML报告
在所有gpo XML创建HTML报告

在上面的例子中,一个单一的报告生成包含所有gpo应用的细节在你的域。如果你想单独生成所有gpo的列表,那么您必须运行以下在PowerShell脚本:

[PathToSaveFiles]替换文件夹的位置你想保存个人报告。您还可以更改“HTML”与“XML”创建XML报告代替。修改向PowerShell脚本之前粘贴它。

$ allgpos = Get-GPO - | Select-Object -ExpandProperty DisplayName foreach (g在allgpos美元){Get-GPOReport - name $ g -ReportType HTML路径[PathToSaveFiles] \ $ g。html}
创建个人报告对于所有使用Get GPOReport gpo
对所有使用Get-GPOReport gpo创建个人报告

使用在PowerShell GPResult生成GPO报告

你也可以生成GPO报告使用GPResult在PowerShell cmdlet。但是,与Get-GPOReport在HTML中,GPResult只能生成报告。

生成一个HTML报告使用GPResult PowerShell,使用以下cmdlet:

GPResult / H [PathToSaveFile] . html
生成HTML使用GPResult PowerShell GPO报告
生成HTML使用GPResult PowerShell GPO报告

您还可以使用其他开关本文开始提到的gpo得到不同种类的信息。例如,使用“/ R”开关,您可以查看在PowerShell GPO细节窗口没有生成一个报告。

查看GPO细节里面使用GPResult PowerShell命令
查看GPO细节里面使用GPResult PowerShell命令

找到GPO细节或者单GPO链接

使用XML报告,您可以找出哪些组织单元应用到GPO。这无法实现HTML报告,因为他们不包含这些信息。这是另一个原因系统管理员选择XML / HTML报告。

使用以下步骤得到的GPO链接我们公司:

  1. 生成一个XML报告一个或所有gpo使用上面的方法共享。

  2. 打开XML文件,寻找你想了解的GPO。

  3. 寻找“LinksTo”节点附近GPO的最后细节。

    在这里,你会发现我们公司的名称(s) GPO链接。

    找到我们的GPO链接
    找到我们的GPO链接

如果GPO链接到多个我们公司,你会发现多个“LinksTo”节点,每个人都会有一个OU GPO链接到的名字。

注意,这个方法可以作为有很多令人沮丧的行数,浏览找到“LinksTo”节点。一个更简单的方法找到我们的GPO链接是通过一个简短的报告。

找到GPO细节或者所有GPO链接

您可以使用一个小脚本在PowerShell生成所有GPO的列表及其相关的诸多或者找到哪个GPO链接。

运行以下脚本PowerShell生成gpo的列表和联系我们:

AllGpos = Get-GPO - GpoLinks美元= foreach (g在AllGpos美元){(xml) $ Gpo = Get-GPOReport -ReportType xml guid $ g。Id foreach(我在Gpo.GPO.LinksTo美元){[PSCustomObject] @ {= $ Gpo.GPO“名字”。“链接”= $我的名字。SOMPath”链接启用”= $ i。启用}}}$ GpoLinks | sort对象的名字
生成所有gpo的列表和我们有关
生成所有gpo的列表和我们有关

从上图可以看到,gpo的列表中的应用领域及其相关的诸多现在显示在我们面前。

如果你发现一个GPO不止一次上市,它将因为它与不止一个OU。你将会发现一个不同或者相同的gpo的面前。

解决“Get-GPO不是公认的“

您可能遇到的几种类型的错误在试图使用上面的方法共享生成GPO报告。这些错误可能是下列之一:

“get-gpo”这个词是不被认为是cmdlet的名称、功能、脚本文件,或可操作的计划。检查拼写的名字,或者路径包括确认路径是否正确,再试一次。

如果是这样的话,执行下面的步骤来解决这个问题:

  1. 首先,确保组策略管理工具安装。

    你可以确认这从服务器管理器-添加角色和功能。

    确保安装组策略管理工具
    确保安装组策略管理工具

    如果功能不安装,安装它。

  2. 一旦确认,一个高架PowerShell实例中运行以下命令:

    Import-Module grouppolicy

这些步骤将安装组策略PowerShell模块,和“Get-GPO”命令现在应该被认可。

常见问题(faq)

如何GPO设置导出到CSV文件?

不幸的是,没有本地方法导出/保存GPO设置. csv文件。曾经有一个选项来保存/导出GPO文件. csv文件,但这是不再可用。不过,您可以使用第三方工具AD-Manager +,提供你将GPO文件保存为CSV文件的能力,然后可以在Microsoft Excel开幕。

Get-GPO vs Get-GPOReport:有什么区别吗?

Get-GPO和Get-GPOReport命令PowerShell命令用于获取信息的组策略对象。然而,尽管Get-GPO命令显示PowerShell窗口内的信息,Get-GPOReport命令生成一个详细的报告gpo的HTML或XML格式。

如何解决“Get-GPOReport指数范围”错误呢?

如果你运行的是Windows 7或Windows Server 2008 R2,那么这个错误可能发生因为组策略报告模块错误地使用硬编码的索引值查询任务计划任务的信息。微软已经解决了这个问题通过Windows更新。
如果这个问题发生在Windows 10或晚,或Windows Server 2012 R2,那么你可能没有安装PowerShell组策略管理模块。你可以通过运行下面的命令安装它,或者从可选功能:
Install-WindowsFeature - name GPMC

推荐给你

留下一个回复

Baidu
map