2017-04-06 194 views
2

我正在制作一个菜单,其中一个选项是基于它的显示名称停止或启动服务。
当我想停止它,它只是再次启动服务。停止服务不会停止

$Display = Read-Host -Prompt 'Please enter displayname: ' 
$Choice = Read-Host -Prompt 'Would you like to start or stop the service' 
If (($Choice = 'start')) { 
    Start-Service -displayname $Display 
    Write-Host $Display "Starting..." -ForegroundColor Green 
} 
ElseIf (($Choice = 'stop')) { 
    Stop-Service -displayname $Display 
    Write-Host $Display "Stopping..." -ForegroundColor Green 
} 

回答

2

的问题是在你的if语句您使用=时,你应该使用-eq测试平等。

您的代码正在设置变量,因此两个语句都始终为true。例如,您应该改为:

If ($Choice -eq 'stop') {