PowerShell 打开 .msi 而不是将路径保存到变量中
PowerShell opens the .msi instead of saving the path into a variabe
我正在制作一个脚本,如果应用程序版本较低或未安装,则必须安装它,但 .msi 的路径必须在变量中
$msiSciteInstaller="path_to.msi"
$flag=0
$list=Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object -Property Displayname -Match "Scite"
foreach ( $listItem in $list ){
$flag+1 > $null
Write-Host ( " * Scite Installation Detected ")
Write-Host ( " * Scite version : "+$listItem.DisplayVersion.ToString())
if ($listItem.DisplayVersion -cle 6.0){
Write-Host ( " * Warning Vulnerability Detected" )
$msiSciteInstaller
}else{
Write-Host (" * Out of danger")
exit
}
}
if ( $flag -eq 0 ){
Write-Host "Not installed, so it´s gonna be installed"
$msiSciteInstaller
}
PowerShell 在遇到由裸值表达式组成的语句(如 $msiSciteInstaller
单独一行)时的默认行为是对其求值并输出结果。
要调用一个字符串作为命令,使用调用运算符(&
):
& $msiSciteInstaller
我正在制作一个脚本,如果应用程序版本较低或未安装,则必须安装它,但 .msi 的路径必须在变量中
$msiSciteInstaller="path_to.msi"
$flag=0
$list=Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object -Property Displayname -Match "Scite"
foreach ( $listItem in $list ){
$flag+1 > $null
Write-Host ( " * Scite Installation Detected ")
Write-Host ( " * Scite version : "+$listItem.DisplayVersion.ToString())
if ($listItem.DisplayVersion -cle 6.0){
Write-Host ( " * Warning Vulnerability Detected" )
$msiSciteInstaller
}else{
Write-Host (" * Out of danger")
exit
}
}
if ( $flag -eq 0 ){
Write-Host "Not installed, so it´s gonna be installed"
$msiSciteInstaller
}
PowerShell 在遇到由裸值表达式组成的语句(如 $msiSciteInstaller
单独一行)时的默认行为是对其求值并输出结果。
要调用一个字符串作为命令,使用调用运算符(&
):
& $msiSciteInstaller