无法将数据输出到文本文件

时间:2017-07-25 07:44:36

标签: windows powershell output

我使用以下脚本从我的wsus服务器中提取所有计算机的列表。然后它放在一个整洁的列表中,这很好。

但是,当我尝试将数据输出到文本文件时,它会创建文本文件但不写入任何数据。输出部分中是否有我遗漏的东西?完整的脚本如下。

$wsus = 'halvedge2'
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer()
$wsus.GetComputerTargets() | Select FullDomainName, LastReportedStatusTime, LastSyncTime

out-file -filepath "\\halvedge2\c$\PS1\WSUS\Last installed Update\updates.txt" 

此外,我想向它添加一个If语句查看LastSyncTime,对于任何超过30天的LastSyncTime,它只返回它们计算机目标。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您不必单独输出文件:

如果以下产生价值,则代替:

$wsus.GetComputerTargets() | Select FullDomainName, LastReportedStatusTime, LastSyncTime

执行此操作:

$wsus.GetComputerTargets() | Select FullDomainName, LastReportedStatusTime, LastSyncTime | Out-File "D:\updates.txt" -Append -Force

注意:首先尝试在本地保存。如果有效,请远程尝试UNC。如果远程失败,则授予特定用户保存权限。