$timeout = new-timespan -Minutes 1
$sw = [diagnostics.stopwatch]::StartNew()
$path = "d:\powershell\test.csv"
"Processor Load, Available Memory(MB), Max Memory(Bytes)" >> $path
while ($sw.elapsed -lt $timeout)
{
$a = gwmi -query "Select * from win32_processor"
$b = gwmi -query "Select * from win32_perfrawdata_perfOS_memory"
$c = gwmi -query "Select * from win32_physicalmemory"
$date = Get-Date -format s
$a.loadpercentage + "," + $b.availableMbytes + "," + $c.capacity >> $path
start-sleep -seconds 5
}
因此,我只是想获取有关正在发生的事情的分钟快照。我不只是因为理由而在perfmon中打开它。基本上我希望在提到的CSV文件中得到以逗号分隔的输出。它适用于单个变量,但是当我尝试添加第二个变量或文本时,出现以下错误。连接PowerShell变量
Cannot convert value ", test" to type "System.Int32". Error: "Input string was not in a
correct format."
At D:\powershell\VDIPerfMon.ps1:14 char:21
+ $a.loadpercentage + <<<< ", test" >> $path
+ CategoryInfo : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
我该如何解决这个问题?
我使用PowerShell的连接运算符'-j'给了一个简单的答案,但我会建议使用哈希表创建一个自定义对象,然后将其发送到Export-CSV – Eris