为了简化,我想连接到运行虚拟机的服务器,然后获取所有已安装机器的列表,我使用的命令是:
Invoke-Command -ScriptBlock {enter-pssession -ComputerName <name>}; Invoke-Command -ScriptBlock {Get-VM} | select-Object -Property name
这行首先包含两个命令:
Invoke-Command -ScriptBlock {enter-pssession -ComputerName <name>};
此部分连接到服务器,然后:
Invoke-Command -ScriptBlock {Get-VM} | select-Object -Property name
此命令获取当前服务器上的VM列表,并返回这些服务器的特定属性。
但是,由于连接需要很短的时间才能设置,因此“get-vm”命令仍然在上一个方向设置,并导致错误报告。
我想知道是否有办法等待以太网命令完成或目录中的更改,此时没有额外的循环运行,或者等待硬设置时间。
答案 0 :(得分:1)
我不知道你为什么要做你想做的事情,你应该做的是:
Invoke-Command -SessionName(或-ComputerName)-ScriptBlock {Get-VM | Select-Object -Property name}