所以我有下面的代碼工作得很好,但由於某種原因,它只計算我的D:驅動器,而不是我的C:驅動器?PowerShell驅動器計算器
$computerName = Get-Wmiobject Win32_ComputerSystem
$computerOS = Get-Wmiobject Win32_OperatingSystem
$computerHDD = Get-Wmiobject Win32_LogicalDisk -Filter drivetype=3
ForEach($HDD in $computerHDD){
$txtObject = New-Object PSObject -property @{
'ComputerName' = $computerName.Name
'ComputerModel' = $computerName.Model
'SerialNumber' = $computerName.SerialNumber
'HDDSize' = "{0:N2}" -f ($HDD.Size/1GB)
'HDDFree' = "{0:P2}" -f ($HDD.FreeSpace/$HDD.Size)
'OS' = $computerOS.caption
'OS_type' = $computerOS.OSArchitecture
'User' = $computerName.UserName
}
}
$txtObject | Select-Object ComputerName, ComputerModel, SerialNumber, HDDSize, HDDFree, OS, Os_type, User | Out-File "$PSSCriptRoot\computer_info.txt" -Append
是你的'D:'驅動類型'3'(本地磁盤)的驅動器?不是可移動磁盤('2')或光盤('5')? – BACON
我的D:驅動器是機械硬盤驅動器,我的C:驅動器是SSD。 – luanswan2002
對不起,我後面讀到;所以只能計算'D:'驅動器。無論如何,這一切都取決於存儲在「$ computerHDD」中的內容。如果'Get-Wmiobject Win32_LogicalDisk'沒有返回所有期望的驅動器,那麼它們將永遠不會在'ForEach'循環中處理。 – BACON