如何从下面的代码中的错误变量中捕获计算机名?
$FilterHashTable = @{
logname='Application';
providername='Microsoft-Windows-SoftwareRestrictionPolicies';
StartTime=$StartTime
};
$test = Invoke-Command -ScriptBlock {
param ($FilterHashTable)
Get-WinEvent -FilterHashtable $FilterHashTable
} -ArgumentList $FilterHashTable -ComputerName $cpu -ErrorVariable blad1 |
Select-Object PSComputerName, TimeCreated, Message |
Export-Csv $logFile -Encoding UTF8
if ($blad1) {
foreach ($blad1 in $test) {
}
}
答案 0 :(得分:3)
目标计算机的名称存储在错误变量的TargetObject
属性中。
if ($blad1) {
$blad1 | ForEach-Object {
'Error getting events from computer {0}.' -f $_.TargetObject
}
}
要获取有关变量值的更多信息,请使用Get-Member
(列出对象的属性和方法)和Format-List
(以列表形式显示所有对象属性的值)。< / p>
$blad1 | Get-Member
$blad1 | Format-List * -Force