使用PowerShell 自动安装VC++补丁

Posted gocircle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PowerShell 自动安装VC++补丁相关的知识,希望对你有一定的参考价值。

执行环境:Windows Server 2012 R2

VC++下载链接

 

这里有个问题,虽说可以静默安装,但是未对当前系统检测是否已安装vc++补丁,望大佬指点

 

# 自动安装
Set-ExecutionPolicy -Force remotesigned
# 获取当前脚本绝对路径
$path = Split-Path -Parent $MyInvocation.MyCommand.Definition;
$Net = "\vcredist_x64.exe";
Set-Location $path;

function Show-Progress ($file, $arguments)
    $process = Start-Process $file $arguments -Verb RunAs -PassThru
    for($i = 0; $i -le 100; $i = ($i + 1) % 100)
    
        Write-Progress -Activity "正在安装 C++补丁" -PercentComplete $i
        Start-Sleep -Milliseconds 100
        if ($process.HasExited) 
            Write-Progress -Activity "Installer" -Completed
            if ($process.HasExited) 
                # 提示安装状态
                if ($process.ExitCode -ne 0) 
                    Write-Warning "安装过程返回错误代码: $($process.ExitCode)";
                else 
                    Write-Host "成功安装C++补丁。"
                
                break
            
        
    

function InstallNet ($filepath,$filename)
    $NetFxPath = $filepath + $filename;
    #验证安装文件是否存在
    If(Test-Path -Path $NetFxPath) 
        Write-Host "正在安装 C++补丁 ..."
        Show-Progress $NetFxPath "/q /norestart"
    
    Else 
        Write-Warning "找不到C++补丁安装包。"
    

InstallNet $path $Net

 

以上是关于使用PowerShell 自动安装VC++补丁的主要内容,如果未能解决你的问题,请参考以下文章

powershell PowerShell:检查Microsoft / Windows Update是否需要重新启动。安装补丁后即可使用。

关于自动化安装离线补丁包更新

使用PowerShell 自动安装.NET4.6.1离线包

如何自动更新sql server补丁

用于自动安装IIS 7及更高版本的Powershell脚本

AWS Lambda 自动化和 PowerShell