将 invoke 命令的输出封装在一个变量中 - PowerShell
Encapsulate the output of invoke command in a variable - PowerShell
我有一个脚本可以在远程机器上(从 DC)安装远程桌面服务。
我现在正处于检查 RDS 是否安装在连接代理(服务器)和连接主机(服务器)上的阶段。
我想使用 invoke-command,因为远程 powershell 会话似乎太复杂了。
这是我的代码:
$res = Invoke-Command -ComputerName "testpc.eil.local" -ScriptBlock {
if((Get-WindowsFeature -Name "Remote-Desktop-Services").Installed -eq 1)
{
#i need this output (true or false or a string)
}
else
{
#i need this output (true or false or a string)
}
}
Write-Host $res
但我的问题是,如何将 invoke-command 中脚本块的输出封装在 DC 可以访问的变量中?如果 RDS 安装成功或失败,我正在尝试写入日志文件
我们如何封装函数的输出并将其传递给 运行 的机器呢?
谢谢
一般来说,对于从 command\function 到 return 的 powershell,您想产生任何类型的输出。因此,您的代码中的 "bla-bla" 将 return "bla-bla" 发送给调用者。这样你的案例就简化了:
$res = Invoke-Command -ComputerName "testpc.eil.local" -ScriptBlock {
(Get-WindowsFeature -Name "Remote-Desktop-Services").Installed
}
do something with $res here
我有一个脚本可以在远程机器上(从 DC)安装远程桌面服务。
我现在正处于检查 RDS 是否安装在连接代理(服务器)和连接主机(服务器)上的阶段。
我想使用 invoke-command,因为远程 powershell 会话似乎太复杂了。
这是我的代码:
$res = Invoke-Command -ComputerName "testpc.eil.local" -ScriptBlock {
if((Get-WindowsFeature -Name "Remote-Desktop-Services").Installed -eq 1)
{
#i need this output (true or false or a string)
}
else
{
#i need this output (true or false or a string)
}
}
Write-Host $res
但我的问题是,如何将 invoke-command 中脚本块的输出封装在 DC 可以访问的变量中?如果 RDS 安装成功或失败,我正在尝试写入日志文件
我们如何封装函数的输出并将其传递给 运行 的机器呢?
谢谢
一般来说,对于从 command\function 到 return 的 powershell,您想产生任何类型的输出。因此,您的代码中的 "bla-bla" 将 return "bla-bla" 发送给调用者。这样你的案例就简化了:
$res = Invoke-Command -ComputerName "testpc.eil.local" -ScriptBlock {
(Get-WindowsFeature -Name "Remote-Desktop-Services").Installed
}
do something with $res here