Donc, j'ai le code ci-dessous qui fonctionne très bien, mais pour une raison quelconque, il calcule seulement mon lecteur D: et pas aussi mon lecteur C:?powershell lecteurs calculatrice
$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
Votre lecteur 'D:' est-il un lecteur de type '3' (disque local)? Pas un disque amovible ('2') ou un disque compact (' 5')? – BACON
Mon lecteur D: est un disque dur mécanique et mon lecteur C: est un disque SSD. – luanswan2002
Désolé, je l'ai lu en arrière; donc c'est _only_ calculant le lecteur 'D:'. Quoi qu'il en soit, tout cela dépend de ce qui est stocké dans «$ computerHDD». Si 'Get-Wmiobject Win32_LogicalDisk' ne retourne pas tous les disques que vous attendez, ils ne seront jamais traités dans la boucle' ForEach'. – BACON