我从头开始学习如何监控我们的服务器(仅一台)。
$dates=(get-date).ToString("s").Replace(":","-")
$page="page"+$dates+".csv"
get-wmiobject win32_pagefileusage | export-csv -path c:\tio\$page
$hyperpage="hyperpage"+$dates+".csv"
get-wmiobject win32_pagefileusage -computer Hyper | export-csv -path c:\tio\$hyperpage
$hyper="hyper"+$dates+".csv"
get-wmiobject win32_logicaldisk -computer Hyper | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$hyper
$image="image"+$dates+".csv"
get-wmiobject win32_logicaldisk | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$image
我的目标是找出 hyper-v 和虚拟主机上的可用空间是如何增长的。
是否可以将它们合并在一起,因为此时它会变成 4 个文件。我想保持低性能但尽可能合并。因此最好的办法是附加功能,但除非必须,否则我不想每次都上传内存中的整个文件。
提前谢谢了
答案1
如果我理解了您的要求,我认为简单的解决方案是 export-csv 包含一个-Append
选项,这样您就可以继续将内容附加到文件中(尽管由于您根据精确到秒的日期/时间创建文件名,我不确定这样做能达到多大的效果)。例如,如果您想每天保存它,您可以尝试类似以下操作(我添加了,-NoTypeInformation
因为 csv 中的类型信息通常会让我烦恼,除非您需要它来重建对象,而在本例中我们不需要它):
$dates=get-date -Format "yyyy-MM-dd"
$page="page$($dates).csv"
get-wmiobject win32_pagefileusage | export-csv -path c:\tio\$page -Append -NoTypeInformation
$hyperpage="hyperpage$($dates).csv"
get-wmiobject win32_pagefileusage -computer Hyper | export-csv -path c:\tio\$hyperpage -Append -NoTypeInformation
$hyper="hyper$($dates).csv"
get-wmiobject win32_logicaldisk -computer Hyper | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$hyper -Append -NoTypeInformation
$image="image$($dates).csv"
get-wmiobject win32_logicaldisk | select-object -property DeviceID, FreeSpace, Size | Export-csv -path c:\tio\$image -Append -NoTypeInformation