尝试对现有的测试实验室计算机配置脚本执行if / else语句。基本上,我想搜索确切的文件路径,如果为true,则继续执行脚本;如果为false,则停止脚本并显示驱动程序名称和版本。
我已经尝试过执行continue语句,但是powershell不喜欢它
Function Namespace_Check
{ Write-Host "Checking available namepace" -ForegroundColor Green
Get-CimInstance -namespace "root\cimv2" -ClassName __NAMESPACE
$path = "root\cimv2\NV"
Write-Host "Complete" -ForegroundColor Green
if
($path -match '*NV*' ){continue}
else
{Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion | where {$_.devicename -like "*nvidia*"}}
}
我希望当“ if”语句为true时,继续运行剩余的脚本,而当“ if”语句为false时,停止脚本并显示驱动程序名称和版本以类似于以下显示:
>Product Name : Quadro P2000
Video Driver Version: 391.03
答案 0 :(得分:0)
我不理解您的$path
变量,如果您的目的是检查名称空间是否包含“ NV”,您可以这样做:
if ((Get-CimInstance -namespace "root\cimv2" -ClassName __NAMESPACE).Name -match 'NV')
{
return
}
else {
return (Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion | where {$_.devicename -like "*nvidia*"})
}
无论如何使用您的代码,您都可以将其更新为:
Function Namespace_Check
{ Write-Host "Checking available namepace" -ForegroundColor Green
Get-CimInstance -namespace "root\cimv2" -ClassName __NAMESPACE
$path = "root\cimv2\NV"
Write-Host "Complete" -ForegroundColor Green
if
($path -match '*NV*' ){return}
else
{ return (Get-WmiObject Win32_PnPSignedDriver| select devicename, driverversion | where {$_.devicename -like "*nvidia*"}})
}