使用 C# 中的 powershell cmdlet 重新启动 Hyper V 计算机

2023-12-23

我正在尝试构建一个应用程序来重新启动 Server 2012 中 Hyper V 中的虚拟机 我重新启动了列表中的每个虚拟机,但我想对其进行调整以关闭机器然后重新打开。注释的代码是强制重启的工作。 提前致谢。

public async static void RestartAllVMs(List<VM> vmList, int timeDelay)
    {
        PowerShell ps = PowerShell.Create();
        foreach (VM vm in vmList)
        {
            /*//Create PowerShell object
            PowerShell ps = PowerShell.Create();
            ps.AddCommand("Restart-VM");
            ps.AddArgument(vm.vmName);
            ps.AddParameter("Force");
            ps.Invoke();
            await Task.Delay(timeDelay * 1000);*/

            //Create PowerShell object
            //I want to run from here down instead of just restarting the code doesn't work and no errors are thrown.
            ps.AddCommand("Stop-VM");
            ps.AddArgument(vm.vmName);
            ps.AddCommand("Start-Sleep");
            ps.AddParameter("s", 10);



            ps.AddCommand("Start-VM");
            ps.AddArgument(vm.vmName);
            ps.AddCommand("Start-Sleep");
            ps.AddParameter("m", 500);
            ps.Invoke();
            await Task.Delay(timeDelay * 1000);

        }

    }

以防万一您仍然需要答案:

using (PowerShell shell = PowerShell.Create())

在你开始之前

shell.AddScript("Invoke-Command -ComputerName "name of your target PC" -ScriptBlock {Stop-VM " + VM.getname() + "}");

停止虚拟机并等待结果

shell.AddScript("Invoke-Command -ComputerName "name of your target PC" -ScriptBlock {Start-VM " + VM.getname() + "}");

启动VM并等待结果

foreach (PSObject outputItem in shell.Invoke())
{
    string name = outputItem.Members["Name"].Value.ToString()
}

运行所有机器,并在本例中将机器名称返回为字符串名称,但它可以返回引擎的每个参数。 (在这种情况下,字符串将只有最后一台机器的名称,因为它会不断被重写,但用包含对象替换它应该没有问题。)

shell.Streams.Error
shell.Streams.Warning

从 powershell 返回所有问题。

希望有帮助。

PS:确保你有一个最新的powershell,因为许多系统都有较旧的系统,不支持所有命令,也许还有一个重新启动命令,但我不知道,因为我无法测试我所在的地方,你需要自己找到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 中的 powershell cmdlet 重新启动 Hyper V 计算机 的相关文章

  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 当不带句点的链接方法调用时“不接受参数”

    我有一堂课 class Greeter def hi print hi this def hello print hello this def and this 我想致电new Greeter hi and hello as new Gre
  • npm 发布到 Artifactory 不起作用

    我已经根据此处给出的说明设置了 Artifactory http www jfrog com confluence display RTF Npm Repositories http www jfrog com confluence dis
  • webbrowser iframe 在默认浏览器中打开

    我有 WebBrowser 控件可以在默认浏览器中打开链接 如下所示 private void webBrowser1 Navigating object sender WebBrowserNavigatingEventArgs e if
  • 如何使用 Bazel 构建使用 OpenCV 的项目 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 使用 Bazel 构建使用 OpenCV 库的 C 代码的最佳方法是什么 即 构建规则是什么样的 应该如
  • CSS 使 div 100% 宽度与 body 相关,而不是它的父 div

    I have div style width 500px div style width 100 div div 子 div 占用其父 div 的 100 宽度 有没有一种方法可以强制它采用 100 的 body 宽度而不是父 div 相对
  • ThreadPool 适合这种线程场景吗?

    我有一个场景 如果可能的话 我试图通过在用户实际需要结果之前预获取结果的一些子元素来将其变成响应速度更快的 UI 我不清楚如何最好地处理线程 所以我希望有人可以提供一些建议 Scenario 有一个搜索表单 NET 富客户端 使用户能够为给
  • 创建游程 ID,同时允许游程中存在一定长度的间隙

    我最初发布了一个问题here https stackoverflow com questions 66478148 create a list of vectors from a vector where n consecutive val
  • Protractor - 如何通过自定义(非 HTML)属性定位元素?

    我正在使用 Selenium WebDriver 和 Protractor 在我的 Angular 项目上运行 e2e 测试 假设我有一个像这样的元素 div div 如何找到上面的元素 我尝试过element by css div my
  • 在 PHP 中压缩文件时删除目录结构

    我在 PHP 中压缩文件时遇到了一些问题 我有一个压缩文件数组的函数 这些文件都位于不同的目录中 该函数如下所示 function create zip files array destination overwrite false add
  • 如何使用 pywin32 从 ms 项目中的任务使用情况中提取数据?

    我正在尝试使用 pywin32 Python 库将数据从 MSProject mpp 文件提取到 Excel 文件 我希望我的员工在其中注册他们的工作时间 我可以从任何我想要的字段中提取数据 但任务使用表除外 该表显示每天任务 一个人 X
  • 未捕获的类型错误:Module.cwrap 不是函数

    我需要在浏览器端解码 h264 数据 因为我使用 emscripten 在 Web Assembly 中构建 openh264 库 我已经成功构建它并尝试在 java 脚本中使用它来解码 h264 数据 但我收到以下一行的一个错误 var
  • Sqlite for iOS 是用哪种线程模式编译的?

    这一页http www sqlite org threadsafe html http www sqlite org threadsafe html提到 单线程 多线程 连载 iOS 5中集成的sqlite是用什么模式编译的 好的 所以 s
  • 用于获取 PancakeSwap 上币安智能链代币价格的 API

    我有一个代币的地址 我需要获取它的 BUSD 或 BNB 价格 如果没有其他办法的话 使用付费API是没有问题的 该代币可能不会出现在热门列表中 因此最好直接从 PancakeSwap 获取价格 这是直接从 PancakeSwap 获取的方
  • 隐藏后的CSS无限动画不重置(Chrome)

    这里我有一个 CSS 关键帧动画的例子 你可以在这个演示 http jsfiddle net umbreak q234Lsx8 1 该代码每 1 4 秒就会将 img 缩放到 0 75 然后返回到其原始 1 比例 效果很好 然后我添加一个简
  • 如何使用 CSS 动画更改 CSS 动画中的字体颜色

    我正在努力做到这一点 以便当我打开页面时 test将显示为红色并且testing将显示为白色 当页面打开时 我要保留一个延迟 如果您运行该程序 您将看到 Css hero h1 display block width fit content
  • iOS 蓝牙后台模式

    我希望继续扫描蓝牙设备 并且希望应用程序在后台运行 是否可以 似乎如果我有一个连接的蓝牙设备 并且有数据传输 那么该应用程序就会在后台保持唤醒状态 但是 如果我只是在后台扫描 似乎即使我有Uses Bluetooth LE accessor
  • 在 ext4 上覆盖小文件是原子的吗?

    假设我们有一个文件FILE SIZE字节 并且 FILE SIZE lt min page size physical block size 文件大小永远不会改变 即truncate 或附加write 从未执行过 仅通过使用以下命令完全覆盖
  • 条件语句体内是否有可能存在多个语句?

    我主要是一名 C 因此是一名 OO 命令式 程序员 我觉得很奇怪的是 在条件语句中 每个求值只能有一个语句 例如函数式语言 Scheme 中的 if 语句 例如 let arg1 0 arg2 1 if gt arg1 arg2 arg1
  • 在 sqlplus 输入文件中参数化表名

    我正在尝试使用 sqlplus 和 Oracle 假脱机功能导出一些数据 问题是我定义导出的 SQL 输入文件不允许我参数化从中导出数据的表名 它需要一个文字 在 shell 脚本中调用 sqlplus sqlplus USER PASSW
  • 使用 C# 中的 powershell cmdlet 重新启动 Hyper V 计算机

    我正在尝试构建一个应用程序来重新启动 Server 2012 中 Hyper V 中的虚拟机 我重新启动了列表中的每个虚拟机 但我想对其进行调整以关闭机器然后重新打开 注释的代码是强制重启的工作 提前致谢 public async stat