我正在尝试在用户输入后远程启动服务。
function Start_Service {
$ComputerName = $txb_hostname.Text
[void][Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic')
$title = 'Start Service'
$msg = 'Enter Service Name (e.g. AppVClient):'
$ServiceName = [Microsoft.VisualBasic.Interaction]::InputBox($msg, $title)
try {
(Get-WmiObject Win32_Service -ComputerName $ComputerName -filter "Name='$ServiceName'").StartService()
LogWrite "$ServiceName started."
} catch {
LogWrite "Unable to stop $ServiceName"
}
}
它只是返回
无法启动“服务”
几乎像
(Get-WmiObject Win32_Service -Filter -ComputerName $ComputerName "Name='$ServiceName'").StartService()
不起作用。
有什么想法为什么不起作用?
编辑:
来自catch
块的实际错误消息:
缺少参数“过滤器”的参数。指定类型为'System.String'的参数,然后重试。
答案 0 :(得分:0)
(Get-WmiObject Win32_Service -ComputerName $ComputerName -Filter "Name='$ServiceName'").StartService()
移动-Filter
已解决了该问题。