如何使用 C# 按组策略检查 PowerShell 禁用

Posted

技术标签:

【中文标题】如何使用 C# 按组策略检查 PowerShell 禁用【英文标题】:How to check PowerShell disable by group policy using C# 【发布时间】:2020-11-16 14:10:12 【问题描述】:

如何使用 C# 获取通过组策略启用或禁用的 PowerShell 的详细信息?

【问题讨论】:

您使用什么机制来禁用 PowerShell?从 this old question 看来,似乎没有一种万无一失的、特定于 PowerShell 的禁用方法。 欢迎来到***.com。对于您遇到的任何具体问题,请提供***.com/help/minimal-reproducible-example。另请阅读***.com/help/how-to-ask 和***.com/help/dont-ask。确保您的问题是具体的而不是过于宽泛,另请参阅***.com/help/on-topic。另外,请务必使用***.com/tour(您会获得徽章!)。 我必须运行一个窗口应用程序来检查服务器上的组策略是否限制当前用户运行应用程序 【参考方案1】:

有一个叫做ExecutionPolicy的限制设置,可以防止从文件中运行脚本。

在 C# 中,您可以使用此初始会话状态创建带有 ExecutionPolicy = ByPass 和 create Powershell 的 InitialSessionState 实例。然后尝试使用Invoke-Command -FilePath command 运行您的脚本文件。

【讨论】:

以上是关于如何使用 C# 按组策略检查 PowerShell 禁用的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中无法获取 PowerShell 命令的结果

使用 Azure AZ Powershell Cmdlet 列出 Azure 安全中心策略状态

如何使用 C# 执行 PowerShell 脚本

C#如何在签入策略期间获取挂起更改的程序集

如何在 powershell 中添加和使用 c# 结构

如何从 C# 程序运行 PowerShell 脚本?