以管理员身份运行 Powershell 命令 - 命令本身不会加载

2023-12-01

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;


namespace WindowsFormsApplication
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var newProcessInfo = new System.Diagnostics.ProcessStartInfo();
            newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe";
            newProcessInfo.Verb = "runas";
            System.Diagnostics.Process.Start(newProcessInfo);
            newProcessInfo.Arguments = @"sfc /scannow";
        }
    }
}

所以我的代码在一定程度上可以工作。您单击 Windows 窗体应用程序按钮,它将以管理员身份运行 64 位 Windows Powershell,但不会运行 .ps1 脚本“c:\path\script.ps1”或直接写出的命令,如“sfc /scannow”多于。

我读到,如果“Set-ExecutionPolicy Unrestricted”未在代码开头的某个位置加载,powershell 命令有时将无法工作。

请帮忙!我一直在到处寻找答案。


首先,您需要指定Arguments财产before你开始这个过程:

var newProcessInfo = new System.Diagnostics.ProcessStartInfo();
newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe";
newProcessInfo.Verb = "runas";
newProcessInfo.Arguments = @"sfc /scannow";
System.Diagnostics.Process.Start(newProcessInfo);

其次,您需要告诉 PowerShellsfc /scannow是一个命令,而不是命令行开关。

在命令行上你会做powershell.exe -Command "sfc /scannow",所以正确的Arguments你的情况的价值是

newProcessInfo.Arguments = @"-Command ""sfc /scannow""";

(""是转义序列"以逐字字符串文字形式)

For .ps1文件,使用-File switch:

newProcessInfo.Arguments = @"-File ""C:\my\script.ps1""";

如果您不知道目标系统上的执行策略,则可以绕过它而不影响机器范围的策略:-ExecutionPolicy Bypass:

newProcessInfo.Arguments = @"–ExecutionPolicy Bypass -File ""C:\my\script.ps1""";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以管理员身份运行 Powershell 命令 - 命令本身不会加载 的相关文章

随机推荐

  • Application_Start 未在 IIS 中触发

    在我的网络应用程序中 我在Global asax 中的 APPLICATION START 文件 当我在开发服务器上运行它时它一直在工作 然而 当我在 IIS 中托管它时 Application Start 事件未触发 任何人都可以帮我摆脱
  • 如何确定矩形何时重叠或相交?

    我找到了如何绘制矩形和一些代码来查找两个矩形何时重叠 但我无法连接这些过程 我有我想要的两个矩形 但无法确定它们是否相交 然后将此信息添加到列表框 这是我的代码 public partial class Form1 Form Graphic
  • 交替行颜色ListView xamarin表单

    我在 ListView 上绑定了一个 ObersvableCollection 我想改变我的 ListView 的行颜色 我找到了很多代码 但对我不起作用 如果你可以分享一个示例 样本 像这样 但我不知道我该怎么做 我使用 Visual S
  • R 中的历史方差误差分解图

    我在下面的链接中找到了如何估计 R 中 VAR 模型的历史方差分解 历史方差误差分解 Daniel Ryback Daniel Ryback 在 Excel 绘图中显示了结果 但我想用 ggplot 来准备它 所以我创建了一些行来获取它 尽
  • 打印给定元素排列的程序[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我最近参加了 ACM 认证的编程竞赛 这是我当时做不到的问题 给定一个包含 n 个元素的整数数组 编写一个程序来打印所有排列 请告诉我这道题该怎么做 有什么算法可以做这类题吗 假
  • 如何追踪 SIGABRT 的原因

    我出于示例目的展示了该问题的代码 但实际上我的问题是 我应该如何追踪和理解 SIGABRT 错误 我读过这个问题 sigabrt 没有错误消息 但是我认为这与我的问题无关 我下面将展示的示例显然不是 xib 问题 之前获得 SIGABRT
  • 如何在 Hyperledger Composer 中处理资产的表单、图像、视频

    在 Hyperledger Composer 模型文件中定义资产时 我们如何处理表单 图像 视频 有哪些可用的数据类型 例如 如果我的资产是房屋 并且我想存储房屋的图像 如何在资产中定义它 我已经参考过文档 它说可用的原始数据类型是字符串
  • 在 Magento 后端添加自定义仪表板“框”而不编辑默认模板的正确方法是什么?

    我正在努力创建一个我希望有一天能成为公开可用的 Magento 扩展的东西 我提到这一部分是因为我在这里做 正确的事 对我来说很重要 我想做的一件事是在默认的 Magento 仪表板中添加一个框 基本上是一个新的 框 与 前 5 个搜索词
  • 如何将输出对齐到屏幕中心 - C++?

    我正在开发 C 控制台应用程序 我想执行并打印应用程序窗口屏幕中心的所有内容 水平 垂直 如下所示 User xyz Pass 我想按照上面指出的那样运行我的整个程序 有什么办法可以做到吗
  • Angular 2.0 Material MdDialog 与 Angular 2.0 的工作示例

    我正在开发一个 POC 应用程序 我正在尝试获取MdDialog组件工作 有谁有一个可以传递给的工作示例MdDialog开放方法 角度 2 0 https github com Angular Angular 角度 2 材质 https g
  • 为什么 document.cookie 不显示该站点的所有 cookie?

    我去一个使用 vBulletin 3 8 的论坛 当我登录时 我使用 firebug 查看设置了哪些 cookie 我看到这些饼干 utmb utmc utma utmz bbsessionhash vbseo loggedin bbpas
  • 根据流星中选定的值从集合和过滤器中填充选择字段

    我是 Meteor 的新人 我有选择框 我想从 mongo 集合本身填充 我尝试按如下方式执行此操作 但不起作用
  • Eager TensorFlow 中的加载现在是否已损坏?

    从 tf keras Model 继承的类中的权重目前似乎无法加载 我无法使用检查点从类外的 Example 加载权重 因此我尝试在类内执行此操作 这从所有角度来看都应该可行 它能够保存权重 就像保存Example 时一样 但它仍然无法加载
  • NumPy:以 n 为底的对数

    来自关于对数的 numpy 文档 我找到了以底数取对数的函数e 2 and 10 import numpy as np np log np e 3 3 0 np log2 2 3 3 0 np log10 10 3 3 0 但是 如何以底数
  • 如何将scala代码块转换为字符串?

    我需要实现一个测试函数 用于检查 splain 插件的编译时错误信息 该函数的一部分需要将代码块转换为字符串 例如 def convert fn gt Unit String for testing val code convert obj
  • 使用 AndroidKeyStoreProvider 生成证书签名请求的最佳方法是什么?

    I read 本文 它说如何生成KeyPair 但是它没有指定如何根据生成的密钥生成证书签名请求 根据我的研究 要在 Java 中生成 CSR 网络上的示例通常使用该包sun 或 BouncyCastle 库 似乎没有办法生成符合标准的 C
  • 手动设置 FormBuilder 控件的值

    这让我发疯 我正处于枪口之下 不能再花一整天的时间在这上面 我试图在组件内手动设置控制值 dept 但它不起作用 即使新值日志也能正确控制台 这是 FormBuilder 实例 initForm this form this fb grou
  • Postgres DB 触发器调用 Java 函数

    是否可以在 postgres DB 中定义一个可以调用某些 Java 函数的触发器 我相信上述在Oracle中是可能的 但想知道是否适用于postgres 那么 如果这是可能的 这是否意味着将为每个连接到数据库的客户端应用程序调用 Java
  • 防止 JavaScript 内部 Ajax 调用中的默认行为或标签单击事件

    我用过e preventDefault 过去取消点击事件 但我无法弄清楚为什么它在这种情况下不起作用 我在带有类名的列中分配了所有标签 然后使用以下命令获取对它们的引用document queryselectorAll classname
  • 以管理员身份运行 Powershell 命令 - 命令本身不会加载

    using System using System Collections Generic using System ComponentModel using System Data using System Drawing using S