首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PS:检查安装,如果不存在则继续

PS:检查安装,如果不存在则继续
EN

Stack Overflow用户
提问于 2021-08-26 12:40:47
回答 1查看 23关注 0票数 1

我来这里已经有一段时间了!我有一个脚本,用来检查是否安装了某个应用程序,如果它没有继续执行计划的任务来进行安装,我就陷入了一个困境。计划任务的原因是此软件供应商不支持第三方管理软件。这非常令人沮丧。

计划任务部分可以工作,但当我检查安装,然后传递脚本,如果它不是,我被卡住了。有没有人能帮我看一眼,让我知道我遗漏了什么?提前谢谢你。

代码语言:javascript
复制
$software = "Screen Capture Module - 15.2.8.747";
$installed32 = (Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -Like $software }).DisplayName -ne $null
$taskName = "ScreenCaptureInsScript"
$taskAction = New-ScheduledTaskAction -Execute 'C:\XXXXXX\Verint-SC\Install-script.bat'
$taskTrigger = New-ScheduledTaskTrigger -Once -At 7:00
$taskPrincipal = New-ScheduledTaskPrincipal -UserId "XXXXXXX\XXXXXXXX"
$taskSettings = New-ScheduledTaskSettingsSet `
    -Compatibility Win8 `
    -AllowStartIfOnBatteries `
    -DontStopIfGoingOnBatteries `
    -StartWhenAvailable

If ($installed32 -eq $null) {
    # Register the scheduled task
    Register-ScheduledTask `
    -TaskName $taskName `
    -Action $taskAction `
    -Trigger $taskTrigger `
    -Description "Verint Screen Capture Installation Script Task" `
    -Settings $taskSettings `
    -RunLevel Highest `
    -Force

Set-ScheduledTask -TaskName 'ScreenCaptureInsScript' -User $taskPrincipal.UserID -Password 'xxXxxxXXXXx'
}
EN

回答 1

Stack Overflow用户

发布于 2021-08-26 14:03:28

您使用-ne $null$installed32设置为true/false值,但是您的if语句正在检查$installed32 -eq $null而不是true/false。这意味着您的if语句的计算结果始终为false,并且不会运行。例如:

代码语言:javascript
复制
# neither of the true/false bools evaluate to null
$null -eq $true
$false

$null -eq $false
$false

相反,您可能只想测试true/false值:

代码语言:javascript
复制
if (-not $installed32) { Register-ScheduledTask... }

以及一些清理工作:

代码语言:javascript
复制
$software32 = Get-ItemProperty 'HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'

# Check for incompatible software before creating task
if ($software32.DisplayName -NotContains 'Screen Capture Module - 15.2.8.747') {
  Register-ScheduledTask ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68938693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档