gpt4 book ai didi

powershell - Powershell字符串变量不满意

转载 作者:行者123 更新时间:2023-12-03 01:21:54 24 4
gpt4 key购买 nike

我有以下powershell脚本:

$BizTalkHosts = "BTSSvc*"
Foreach($svc in Invoke-Command -Computer d-vasbiz01 -ScriptBlock{ get-service -Name $BizTalkHosts})
{
Write-Host $svc.name
}

我希望它返回以“BTSSVC *”开头的远程计算机上的服务列表。问题是,直到运行时我才真正知道服务名称,它将作为参数传递到脚本中。

当我运行上面的脚本时,会得到所有服务的列表-不是我想要的!但是,如果我向get-service cmdlet提供字符串文字(即get-service -Name“BTSSvc *”),则可以正常工作,并提供了过滤列表。

谁能解释我在做什么错?

最佳答案

在这种情况下,无需使用Invoke-Command,您可以使用Get-Service获得服务:

Get-Service -Name $BizTalkHosts -ComputerName d-vasbiz01

为了能够使用 Invoke-Command做到这一点(这是一个过大的杀伤力),您需要在脚本块内创建一个参数,然后通过-ArgumentList参数将$ BizTalkHosts传递给脚本块
$BizTalkHosts = "BTSSvc*"
Foreach($svc in Invoke-Command -Computer d-vasbiz01 -ScriptBlock{ param($name) get-service -Name $name}) -Argument $ArgumentList
{
Write-Host $svc.name
}

关于powershell - Powershell字符串变量不满意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11797178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com