그래서 아주 잘 작동하지만 아래의 코드를 가지고 있습니다. 그러나 어떤 이유에서든 내 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
My D : 드라이브는 기계식 하드 드라이브이고 C : 드라이브는 SSD입니다. – luanswan2002
죄송합니다, 나는 그것을 거꾸로 읽었습니다. 그래서 그것은'D :'드라이브를 계산하는 것일뿐입니다. 어쨌든,이 모든 것은'$ computerHDD'에 저장되는 것에 달려 있습니다. 'Get-Wmiobject Win32_LogicalDisk'가 기대하는 모든 드라이브를 반환하지 않으면'ForEach' 루프에서 결코 처리되지 않습니다. – BACON