Оператор if / else в Test-WSMan - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь создать функцию Powershell GUI, чтобы показать статус «Подключен / не подключен» через цветную панель, имя компьютера вставлено через ввод TextBox. есть мой вывод.

Меня немного смущает мой оператор else / if.

Должно появиться всплывающее окно, если компьютер не вставлен, если нет возможности test-WSMan, он выдает красную ошибку, если подключается, он должен светиться зеленым.

Даже с неизвестным компьютером У меня всегда горит зеленый свет, и мой код не перестает работать.

Вот мой код

function checkinfo {

$Server=$textboxComputername.text;

if (-not $textboxComputername.Text)
            {
                [System.Windows.Forms.MessageBox]::Show('No computer 
                specified', 'Error')
                Throw 'No Computer specified'
            }
elseif 

            (Test-WSMan  $Server ) {
            $label_PingStatus.Text = "OK";
            $label_PingStatus.ForeColor = "green"
            Write-Status -Message "Connected to $Server"
            $picturebox1.BackColor = "Green"
else 

            If (-not (Test-WSMan $Server))
            {
                $picturebox1.BackColor = "Red"
                Write-Status -Message "Not Connected to $Server"

                [System.Windows.Forms.MessageBox]::Show('No such computer or computer is offline', 'Error')
                Throw 'No such computer or computer is offline'

    }

Спасибо за ваше руководство

1 Ответ

0 голосов
/ 07 мая 2020

Ваш указанный код даже не запускается

Начните отсюда:

Function checkinfo {
    $Server=$textboxComputername.text;
    If (-not $Computername) {
        [System.Windows.Forms.MessageBox]::Show('No computer specified', 'Error')
        Throw 'No Computer specified'
    }
    Else {
        If (Test-WSMan  $Server ) {
            Write-Host "Connected to $Server"
        }
        Else {
            Write-Host "Not Connected to $Server"
            [System.Windows.Forms.MessageBox]::Show('Not connected', 'Error')
            Throw 'Test-WsMan failed'
        }
   }  
}
...