我正在制作一个菜单,其中一个选项是根据它的显示名称停止或启动服务。
当我想停止它时,它只是再次启动服务。
$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
}
答案 0 :(得分:2)
当您使用if
来测试相等性时,问题出在您正在使用的=
语句中-eq
。
您的代码正在设置变量,因此两个语句始终为true。例如,您应该这样做:
If ($Choice -eq 'stop') {