通过 GPO 禁用 PowerShell v2

通过 GPO 禁用 PowerShell v2

我尝试通过 GPO 禁用旧版 PowerShell v2 版本,但没有成功。

我已经尝试了所有方法,运行计划任务(运行 PowerShell 脚本,如果在本地运行,其中的命令确实有效),包括在本地机器上复制文件,设置新的软件限制策略,但没有任何效果,因为该版本的 PowerShell 保持启用状态。

有什么建议么?

答案1

假设你有这样的需求粘胶纤维

Windows PowerShell 5.0 添加了高级日志记录功能,当恶意软件在系统上运行后,该功能可以提供更多详细信息。禁用 Windows PowerShell 2.0 可缓解避开 Windows PowerShell 5.0 脚本块日志记录功能的降级攻击。

修复方法是禁用 Windows 功能。例如:

# Windows 10:
Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root

# Windows Server:
Uninstall-WindowsFeature -Name PowerShell-V2

卸载大约需要一分钟,然后显示是否需要重新启动才能进行更改:

Uninstall-WindowsFeature PowerShell-V2

Success Restart Needed Exit Code      Feature Result                               
------- -------------- ---------      --------------                               
True    No             Success        {Windows PowerShell 2.0 Engine}    

# running the command again does not error:

Success Restart Needed Exit Code      Feature Result                               
------- -------------- ---------      --------------                               
True    No             NoChangeNeeded {}            

要检查当前状态:

# Windows 10
Get-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root

FeatureName      : MicrosoftWindowsPowerShellV2Root
DisplayName      : Windows PowerShell 2.0
Description      : Adds or Removes Windows PowerShell 2.0
RestartRequired  : Possible
State            : Enabled
CustomProperties :

# Windows Server:
Get-WindowsFeature -Name PowerShell* 

Display Name                          Name           Install State
------------                          ----           -------------
[X] Windows PowerShell                PowerShellRoot     Installed
    [X] Windows PowerShell 5.1        PowerShell         Installed
    [X] Windows PowerShell 2.0 Engine PowerShell-V2      Installed  ## Should be "Available"
    [X] Windows PowerShell ISE        PowerShell-ISE     Installed

相关内容