powershell 多任务查询信息并输出

该文章描述了一个Windows系统管理脚本,它自动化获取计算机的安装时间、系统版本、安全更新(补丁)以及软件信息,并将这些数据分别存储在不同的目录下,如System_installation、Information和Update_log。脚本通过WMI对象和文件路径操作实现信息的收集和记录。
摘要由CSDN通过智能技术生成

#1、获取系统安装时间信息及系统本版信息并输出至:System_installation目录
#2、获取系统信息和安全更新(补丁)输出至:Information目录
#3、获取系统软件信息输出至:Update_log目录


# 获取计算机名称  
$computerName = $env:COMPUTERNAME  
Write-Host "当前计算机名称为:$computerName"  
  
# 定义目标文件夹路径  
$targetFolder1 = "\\10.254.4.11\用户软件\System_installation\"  
$targetFolder2 = "\\10.254.4.11\用户软件\Information\"  
$targetFolder3 = "\\10.254.4.11\用户软件\Update_log\"

#==============================================================================获取系统安装时间信息及系统本版信息并输出至:System_installation目录========================================================================================== 
# 创建第一个目标文件的完整路径  
$file1 = $targetFolder1 + "\" + $computerName + ".txt"  
  
# 获取当前计算机名称 对比\\10.254.4.11\用户软件\Information\下是否有文件名与计算机名相同,如果有则不采取任何操作,如果没有就获取系统安装时间及系统版本信息) 并输出\\10.254.4.11\用户软件\System_installation下   
if (Test-Path $file1) {  
    Write-Host "False"  
} else {  
    Write-Host "True"  
    
    # 获取操作系统安装日期并写入第一个文件  
    $result1 = Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property InstallDate

    # 获取系统版本信息
    $OS1 = Get-WmiObject -Class Win32_OperatingSystem | Select-Object -Property Version

    #并在内容中添加计算机名称信息,以 # 分隔 输出格式:"计算机名称"#"系统安装日期"#"系统版本信息"
    "{0}#{1}#{2}" -f $computerName, $result1.InstallDate,$OS1 | Out-File -FilePath $file1

 
#===============================================================================获取系统信息和安全更新(补丁)输出至:Information目录==========================================================================================================
# 创建第二个目标文件的完整路径  
$file2 = $targetFolder2 + "\" + $computerName + ".txt"  
  
# 获取当前计算机名称 对比\\10.254.4.11\用户软件\Information\下是否有文件名与计算机名相同,如果有则不采取任何操作,如果没有就运行wmic qfe get CSName,HotFixID,Description,InstalledOn(获取获取系统补丁信息) 并输出\\10.254.4.11\用户软件\Information下  
if (Test-Path $file2) {  
    Write-Host "False"  
} else {  
    Write-Host "True"  

    # 获取系统信息和安全更新并写入第二个文件  
    $result2 = wmic qfe get CSName,HotFixID,Description,InstalledOn  
    $result2 | Out-File -FilePath $file2  
}


#===============================================================================获取系统软件信息输出至:Update_log目录=========================================================================================================================
# 创建第三个目标文件的完整路径
$file3 = $targetFolder3 + "\" + $computerName + ".txt"

# 获取当前计算机名称 对比\\10.254.4.11\用户软件\Information\下是否有文件名与计算机名相同,如果有则不采取任何操作,如果没有就统计系统软件信息) 并输出\\10.254.4.11\用户软件\Update_log下  
$file3 = $targetFolder3 + "/" + $computerName + ".txt"  
  
if (!(Test-Path $file3)) {    
    Write-Host "True"    
      
    $installedSoftware = Get-WmiObject -Class Win32_Product | Select-Object Name,Version,Publisher,InstallDate    
    $sortedSoftware = $installedSoftware | Sort-Object Name    
  
 # 将计算机名称和软件的名称、版本、以及安装日期拼接成一行字符串。最后,使用Out-File 输出到之前指定的文本文件中     
    $sortedSoftware | ForEach-Object {    
        $output = $computerName + " | 软件名称:" + $_.Name + " 版本: " + $_.Version + " " + $_.Publisher + " 安装日期: " + $_.InstallDate    
        $output | Out-File -FilePath $file3 -Append  
    }    
} else {    
    Write-Host "False"    
}
#========================================================================

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值