【问题标题】:Group Policy Event Forwarding through PowerShell - Windows通过 PowerShell 转发组策略事件 - Windows
【发布时间】:2025-12-17 22:35:01
【问题描述】:

在 Windows 服务器上,当您打开组策略设置(System32 中的 gpedit.msc)时,我可以在此处按照以下步骤设置事件转发:http://msdn.microsoft.com/en-us/library/windows/desktop/bb870973(v=vs.85).aspx配置事件源计算机部分下

我想知道是否可以使用 PowerShell 来设置收集器地址和启用订阅管理器配置(上面指定部分下提供的链接中的步骤 3 和 4)。

我遇到了这个文档:http://technet.microsoft.com/en-us/library/ee461027.aspx 用于组策略 cmdlet,但我不知道如何使用这些 cmdlet 来完成我可以使用 gpedit UI 完成的事情。

如果您对如何启动或使用哪些 cmdlet 有任何提示或好的指示,我将不胜感激。

谢谢

【问题讨论】:

    标签: powershell windows-server cmdlets group-policy


    【解决方案1】:

    您将在另一个答案中找到使用 PowerShell 的 roadmap to create a GPO based on a registry key on a W2K8 R2 computer

    要找到您喜欢更改的内容,请查看:C:\Windows\PolicyDefinitions\EventForwarding.admx

    <?xml version="1.0"?>
    <policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
    
            <policyNamespaces>
                    <target prefix="eventforwarding" namespace="Microsoft.Policies.EventForwarding" />
                    <using prefix="windows" namespace="Microsoft.Policies.Windows" />
            </policyNamespaces>
    
        <supersededAdm fileName="EventForwarding.adm"/>
    
        <resources minRequiredRevision="1.0"/>
    
        <categories>
            <category name="EventForwarding" displayName="$(string.EventForwarding)">
                <parentCategory ref="windows:WindowsComponents"/>
            </category>
        </categories>
    
        <policies>
            <policy name="SubscriptionManager" class="Machine" displayName="$(string.SubscriptionManager)" explainText="$(string.Subscription_Help)" presentation="$(presentation.SubscriptionManager)" key="Software\Policies\Microsoft\Windows\EventLog\EventForwarding">
                <parentCategory ref="EventForwarding"/>
                            <supportedOn ref="windows:SUPPORTED_WindowsVista" />  
                <elements>
                    <list id="SubscriptionManager_Listbox" key="Software\Policies\Microsoft\Windows\EventLog\EventForwarding\SubscriptionManager" valuePrefix=""/>
                </elements>
            </policy>
            <policy name="ForwarderResourceUsage" class="Machine" displayName="$(string.ForwarderResourceUsage)" explainText="$(string.ForwarderResourceUsage_Help)" presentation="$(presentation.ForwarderResourceUsage)" key="Software\Policies\Microsoft\Windows\EventLog\EventForwarding">
                <parentCategory ref="EventForwarding"/>
                            <supportedOn ref="windows:SUPPORTED_WindowsVista" />  
                            <elements>
                                    <decimal id="MaxForwardingRate" valueName="MaxForwardingRate"/>
                            </elements>
                    </policy>
        </policies>
    
    </policyDefinitions>
    

    【讨论】:

    • 嘿@JPBlanc:当我查看 EventForwarding.admx 时,我没有看到当前配置(例如,机器的收集器地址),我是否仍然可以更改或将其设置为第一名?
    • 对不起,我没看懂,ADMX文件是描述文件,你在里面没有找到你需要的注册表吗?
    • 顺便说一句,我不能 Import-Module grouppolicy ,你知道为什么会这样吗? (我得到 FileNotFoundException)?
    • 你在服务器上工作吗?当你输入 get-module -listavailable 时,你能看到 GroupPolicy 吗?如果没有,您可以安装 RSAT。
    • 嘿@JPBlanc:如果我已经手动设置了EventForwarding,我应该可以通过这个命令正确地看到:PS C:\Windows\PolicyDefinitions> Get-GPRegistryValue -Name SubscriptionManager -key HKEY_LOCAL_MACHINE\Software\Policies \Microsoft\Windows\EventLog\EventForwarding ,但这不起作用。我也尝试过使用 HKEY_CURRENT_USER。我确信我有将事件转发到域中其他机器的 SubscriptionManager 策略。如果您愿意,我可以将此添加为新问题。谢谢