我正在尝试运行以下命令来说明此注册表项是否存在然后 Get-ItemProperty Else Do nothing 或 Display Text for Testing。
"SQL Server Product Name" = Invoke-Command -ComputerName $Computer -ScriptBlock {If (Test-Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names") { Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object -FilterScript { (($_.Publisher -like "Microsoft*") -and ($_.DisplayName -like "Microsoft SQL Server*(*-bit)")) } | Select-Object -first 1 -ExpandProperty DisplayName } else {Write-Host "Blah"}}
Else 似乎没有做任何事情,因为现在如果 reg 键不存在,它会将 {} 放入结果而不是 Blah。我不确定 If 语句是否有效,因为我认为它可能只是运行 Get-ItemProperty 无论如何,因为如果该路径存在,我会得到预期的结果。