在多台计算机上从 VB(或 C#)运行 PowerShell 命令 - 如何知道哪台计算机正在返回信息

Jiale Xue - MSFT 33,686 信誉分 Microsoft 供应商
2024-04-19T05:54:05.2266667+00:00

我按照下面的简单示例运行代码,实际上它会有更多的机器,我怎么知道每组结果来自哪台机器?

我读到提到 PSComputerName,但是我如何从中获取值作为获取值的常用方法,例如,我如何在下面的 Get-Culture 示例中获取 Name 不起作用

谢谢

Dim computerlist As New List(Of String)({"PC1", "PC2", "PC3"})

Dim powershell As PowerShell = PowerShell.Create()
Dim command As New PSCommand()

command.AddCommand("Invoke-Command")
command.AddParameter("ComputerName", computerlist)
command.AddParameter("ScriptBlock", ScriptBlock.Create("Get-Culture"))

powershell.Commands = command

Dim results = powershell.Invoke()

TextBox1.AppendText(results(0).BaseObject.Name)

Note:此问题总结整理于: Running PowerShell command from VB (or C#) on multiple machines - how to know which computer is returning infomation

Windows Server
Windows Server
支持企业级管理、数据存储、应用程序和通信的 Microsoft 服务器操作系统系列。
46 个问题
C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
106 个问题
VB
VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
54 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 40,271 信誉分 Microsoft 供应商
    2024-04-19T07:55:16.4466667+00:00

    PSComputerName 是一个 NoteProperty。这对你有用吗?

    results(0).Properties("PSComputerName").Value  
    

    如果答案有帮助,请点击“接受答案”并点赞。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助