jra*_*ara 11 powershell conditional if-statement powershell-2.0
我正在尝试学习powershell并试图构造一个if else语句:
if ((Get-Process | Select-Object name) -eq "svchost") {
Write-Host "seen"
}
else {
Write-Host "not seen"
}
Run Code Online (Sandbox Code Playgroud)
尽管存在svchost流程,但最终会变成"未见".如何修改以获得正确的结果?
man*_*lds 10
你的if-else结构是完美的,但改变if条件如下:
(Get-Process | Select-Object -expand name) -eq "svchost"
Run Code Online (Sandbox Code Playgroud)
最初,您将对象与"svchost"进行比较,后者将评估为false.使用该-expandProperty
标志,您将获得该对象的属性,该属性是一个字符串,可以正确地与"svchost"进行比较.
请注意,在上面您要将包含进程名称的字符串数组与"svchost"进行比较.-eq
如果数组包含另一个表达式,则数组为true,在本例中为"svchost"
还有其他"更好"的方法来检查:
if (Get-Process | ?{ $_.Name -eq "svchost"}) {
Write-Host "seen"
}
else {
Write-Host "not seen"
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24324 次 |
最近记录: |