gpt4 book ai didi

powershell - ForEach循环的日志输出

转载 作者:行者123 更新时间:2023-12-03 00:00:25 26 4
gpt4 key购买 nike

下面的代码可远程获取计算机信息。我无法将其发送输出到日志文件。另外,如何将所有未查询的计算机记录在单独的日志文件中?

   Code: 

$ArrComputers = gc .\computernames.txt

Clear-Host
ForEach ($Computer in $ArrComputers)
{
$computerSystem = get-wmiobject Win32_ComputerSystem -Computer $Computer
$computerBIOS = get-wmiobject Win32_BIOS -Computer $Computer
$Version = Get-WmiObject -Namespace "Root\CIMv2" -Query "Select * from Win32_ComputerSystemProduct" -computer $computer | select version

write-host "System Information for: " $computerSystem.Name -BackgroundColor DarkCyan
"-------------------------------------------------------"

"Model: " + $computerSystem.Model
"Serial Number: " + $computerBIOS.SerialNumber
"Version: " + $Version

""
"-------------------------------------------------------"

}

最佳答案

记录非常简单。您只需要将输出存储在变量中,然后使用Out-File cmdlet:

$ArrComputers = gc .\computernames.txt
$OutputLog = ".\output.log" # Main log
$NotRespondingLog = ".\notresponding.log" # Logging "unqueried" hosts

$ErrorActionPreference = "Stop" # Or add '-EA Stop' to Get-WmiObject queries
Clear-Host

ForEach ($Computer in $ArrComputers)
{
try
{
$computerSystem = get-wmiobject Win32_ComputerSystem -Computer $Computer
$computerBIOS = get-wmiobject Win32_BIOS -Computer $Computer
$Version = Get-WmiObject -Namespace "Root\CIMv2" `
-Query "Select * from Win32_ComputerSystemProduct" `
-computer $computer | select -ExpandProperty version
}
catch
{
$Computer | Out-File -FilePath $NotRespondingLog -Append -Encoding UTF8
continue
}

$Header = "System Information for: {0}" -f $computerSystem.Name

# Outputting and logging header.
write-host $Header -BackgroundColor DarkCyan
$Header | Out-File -FilePath $OutputLog -Append -Encoding UTF8

$Output = (@"
-------------------------------------------------------

Model: {0}
Serial Number: {1}
Version: {2}

-------------------------------------------------------

"@) -f $computerSystem.Model, $computerBIOS.SerialNumber, $Version

# Ouputting and logging WMI data
Write-Host $Output
$Output | Out-File -FilePath $OutputLog -Append -Encoding UTF8
}

关于powershell - ForEach循环的日志输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31322588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com