Услуги удаленного запуска - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь запустить службу удаленно после ввода пользователя.

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» и повторите попытку.

1 Ответ

0 голосов
/ 07 декабря 2018
(Get-WmiObject Win32_Service -ComputerName $ComputerName -Filter "Name='$ServiceName'").StartService()

Перемещение -Filter решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...