首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个服务器上的PowerShell - get-hotfix -错误处理

多个服务器上的PowerShell - get-hotfix -错误处理
EN

Stack Overflow用户
提问于 2021-08-12 10:03:12
回答 1查看 168关注 0票数 0

我在检查多个服务器上的多个修补程序时遇到了脚本问题。有时我没有到服务器的rpc连接,在这种情况下,我希望将此信息记录到同一个输出文件中。有人能帮帮我吗?谢谢

代码语言:javascript
复制
$computers =  Get-Content -path C:\00-Scripts\printer\server.txt
$Patch = Get-Content -path C:\00-Scripts\printer\kb.txt
  
foreach ($computer in $computers) {
    foreach ($patch1 in $patch) {
        Try {
            if (get-hotfix -id $patch1 -ComputerName $computer -ErrorAction stop) {
                Add-content "$patch1 is Present in $computer" -path C:\00-Scripts\printer\Hotfix.txt
             }
             Else {
                 Add-content "$patch1 is not Present in $computer" -path C:\00-Scripts\printer\Hotfix.txt
             }
         }
         catch {
             Add-content "can not check $computer" -path C:\00-Scripts\printer\Hotfix.txt
         }
     }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-13 15:36:33

在这种情况下,您需要首先检查是否可以访问计算机。如果是,循环遍历补丁程序以报告是否可以找到它们。在您无法到达机器中,在日志中只记录一个故障行,然后继续下一台计算机。

代码语言:javascript
复制
$computers = Get-Content -path 'C:\00-Scripts\printer\server.txt'
$Patch     = Get-Content -path 'C:\00-Scripts\printer\kb.txt'
$logFile   = 'C:\00-Scripts\printer\Hotfix.txt'
foreach ($computer in $computers) {
    if (Test-Connection -ComputerName $computer -Count 1 -Quiet) {
        foreach ($patch1 in $patch) {
            # use -ErrorAction SilentlyContinue here so $hotfix will either become $null or an object
            $hotfix = Get-HotFix -Id $patch1 -ComputerName $computer -ErrorAction SilentlyContinue
            if ($hotfix) {
                "$patch1 is Present in $computer" | Add-Content -Path $logFile
            }
            else {
                "$patch1 is not Present in $computer" | Add-Content -Path $logFile
            }
        }
    }
    else {
        "Can not check $computer" | Add-Content -Path $logFile
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68755352

复制
相关文章

相似问题

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