首页 > 解决方案 > 具有 PowerShell 自动化命令限制的 C# Windows 窗体应用程序

问题描述

我正在尝试创建一个以编程方式设置 bitlocker PIN 的应用程序。

该应用程序与 PowerShell 命令一样有效,但是很遗憾我无法执行它。

执行时出现以下错误:

“应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或使用 Microsoft .Net 配置工具”

private void Submit_Click(object sender, EventArgs e)
        {
             if (PIN.Text.Length < 20)
            {
                MessageBox.Show("Passwords must be at least 20 characters long.");
                return;
            }
             else if (PIN2.Text != PIN.Text)
             {
                 MessageBox.Show("Password & Confirmation are not identical, Please ensure that both Passwords are the same");
                 return;
             }
             else
             {
                 PowerShell ps = PowerShell.Create();
                 ps.AddCommand("$PIN = \"" + PIN.Text + "\" | ConvertTo-SecureString -AsPlainText -Force; Enable-BitLocker -MountPoint \"C:\" -PIN $PIN -TPMAndPinProtector -SkipHardwareTest");
                 ps.Invoke();
                 MessageBox.Show("Your Pre-Boot PIN has now been Setup - Please reboot after 30 Minutes and login with your PIN");
                 Application.Exit();

我已经设置了程序集:SecurityRules(SecurityRuleSet.Level1) 但问题仍然存在。

它是一个需要修改的 GPO 吗?或者我能以某种方式绕过应用程序吗?

标签: c#powershellwindows-forms-designer

解决方案


您是否尝试过制作一个实际的 PowerShell 脚本文件然后运行该文件?

看看这个


推荐阅读