繁体   English   中英

windows powershell 脚本中的服务解释问题

[英]problem with service interpretation in windows powershell script

我在 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 将向您显示服务名称,因为这是服务 controller 对象的默认 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM