所以说你想从lan上的所有桌面查看类型应用程序的事件日志中的最后三件事。我的问题是,$ a下面创建一个数组(我认为),我想将其写入文件。现在它“有效”,但每台机器只吐出几个空白行。如果$ msg =被注释掉,我得到这个“异常调用”加入“with”2“参数:”值不能为空。“
$servers = "machine1, "machine2"
$date = ( get-date ).ToString('yyyyMMdd')
$file = New-Item -type file "c:\temp\$date-test1.txt" -Force
$msg = ""
foreach($server in $servers){
Write-Host "Connect to $server..."
add-content $file "$server $date"
$a = Get-EventLog -Logname application -ComputerName $server -EntryType warning -newest 3 |
Format-Table -Wrap -Property Source,Message -Autosize
foreach($element in $a)
{[string]::join($element, $msg)}
Write-Host $msg
#add-content $file $msg
}
答案 0 :(得分:3)
您正在考虑文本,而不是管道中的对象。不要试图用字符串解析,加入或搞乱。
$servers = "machine1, "machine2"
$date = ( get-date ).ToString('yyyyMMdd')
$file = New-Item -type file "c:\temp\$date-test1.txt" -Force
Get-EventLog -log Application -Computer $servers -entry Warning -newest 3 | Select MachineName,Source,Message | out-file $file