我在Windows Powershell中创建脚本时遇到问题。到目前为止,我已经能够找到并列出包含给定字符串的服务,但是我对每个服务都有RequiredService的分配问题。这是我的代码
$characters = Read-Host "Enter a character string to appear in the service"
$name = get-service -name *$characters*
For($i=0; $i -lt $name.Count; $i++)
{
Write-Host $name[$i]
$Required = get-service -RequiredServices $name[$i]
For($j=0; $j -lt $Required.Count; $j++)
{
Write-Host " "$Required[$j]
}
}
exit 0
这是一个问题
get-service : Cannot find any service with service name 'System.ServiceProcess.ServiceController'.
我不知道为什么每个服务尽管显示得很好,但还是以其他方式称为'System.ServiceProcess.ServiceController'
编辑:我更改了第6行
$Required = get-service -RequiredServices *($name[$i])
,但脚本仍然无法正常工作。
Get-Service : A positional parameter cannot be found that accepts argument 'XboxNetApiSvc'.
Powershell将在某些情况下为我们自动格式化对象,例如写入主机。Write-Host将为您显示服务名称,因为这是服务控制器对象的默认tostring()。您只需要在命令中使用名称时自己指定名称
$characters = Read-Host "Enter a character string to appear in the service"
$name = get-service -name *$characters*
For($i=0; $i -lt $name.Count; $i++)
{
Write-Host $name[$i]
$Required = get-service -RequiredServices $name[$i].name
For($j=0; $j -lt $Required.Count; $j++)
{
Write-Host " "$Required[$j].name
}
}
exit 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句