Comment trouver l'espace disponible sur tous les volumes de lecteur actifs en Go sur un serveur Windows 2012 à l'aide de la ligne de commande et/ou de powershell.rechercher l'espace disponible en Go sur tous les volumes de lecteur dans la ligne de commande Windows 2012
Jusqu'à présent, j'essayé cette commande, qui échoue:
wmic logicaldisk get size,freespace,caption
Invalid GET Expression.
a également essayé cette commande, mais il donne la réponse en octets qui est difficile à interpréter. Si je pouvais obtenir ce lire dans GB:
PS C:\Users\us-tdunphy> wmic diskdrive list brief /format:list
Caption=AWS PVDISK SCSI Disk Device
DeviceID=\\.\PHYSICALDRIVE1
Model=AWS PVDISK SCSI Disk Device
Partitions=1
Size=268432012800
Caption=AWS PVDISK SCSI Disk Device
DeviceID=\\.\PHYSICALDRIVE0
Model=AWS PVDISK SCSI Disk Device
Partitions=1
Size=128849011200
J'ai aussi essayé cette commande PowerShell qui donne et erreur:
PS C:\Users\us-tdunphy> powershell -command "& {Get-WmiObject -Class Win32_LogicalDisk -Filter 'DriveType = 3' |select PSComputerName, Caption,@{N='Capacity_GB'; E={[math]::Round(($_.Size/1GB), 2)}},@{N='FreeSpace_GB'; E={[math]::Round(($_.FreeSpace/1GB), 2)}},@{N='PercentUsed'; E={[math]::Round(((($_.Size - $_.FreeSpace)/$_.Size) * 100), 2) }},@{N='PercentFree'; E={[math]::Round((($_.FreeSpace/$_.Size) * 100), 2) }}}"
At line:1 char:277
+ ... - .FreeSpace)/.Size) * 100), 2) }},@{N='PercentFree'; E={[math]::Round(((.Free ...
+ ~
You must provide a value expression following the '/' operator.
At line:1 char:278
+ ... .FreeSpace)/.Size) * 100), 2) }},@{N='PercentFree'; E={[math]::Round(((.FreeS ...
+ ~~~~~
Unexpected token '.Size' in expression or statement.
At line:1 char:277
+ ... - .FreeSpace)/.Size) * 100), 2) }},@{N='PercentFree'; E={[math]::Round(((.Free ...
+ ~
Missing closing ')' in expression.
At line:1 char:238
+ ... ercentUsed'; E={[math]::Round((((.Size - .FreeSpace)/.Size) * 100), 2) }},@{N= ...
+ ~
Missing closing '}' in statement block.
At line:1 char:294
+ ... Size) * 100), 2) }},@{N='PercentFree'; E={[math]::Round(((.FreeSpace/.Size) * ...
+ ~
The hash literal was incomplete.
At line:1 char:3
+ & {Get-WmiObject -Class Win32_LogicalDisk -Filter 'DriveType = 3' |select PSComp ...
+ ~
Missing closing '}' in statement block.
At line:1 char:294
+ ... Size) * 100), 2) }},@{N='PercentFree'; E={[math]::Round(((.FreeSpace/.Size) * ...
+ ~
Unexpected token ')' in expression or statement.
At line:1 char:296
+ ... ze) * 100), 2) }},@{N='PercentFree'; E={[math]::Round(((.FreeSpace/.Size) * 10 ...
+ ~
Unexpected token '}' in expression or statement.
At line:1 char:297
+ ... e) * 100), 2) }},@{N='PercentFree'; E={[math]::Round(((.FreeSpace/.Size) * 100 ...
+ ~
Unexpected token '}' in expression or statement.
At line:1 char:370
+ ...) * 100), 2) }}}
+ ~
Unexpected token '}' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
Merci
Qu'avez-vous essayé, et comment avez-vous échoué? Idéalement, vous devriez fournir un [exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve) de ce que vous avez essayé, et inclure des informations spécifiques sur la façon dont il a échoué, avec des messages d'erreur et/ou sortie erronée. SO n'est pas un service d'écriture de code; les meilleures questions sont celles qui fournissent des informations utiles pour que ceux qui répondent puissent vous guider dans l'élaboration de votre propre réponse correcte. Voir [Comment poser une bonne question] (https://stackoverflow.com/help/how-to-ask). –
ok, je vais éditer la question avec quelques exemples. merci – bluethundr
Votre 3ème ligne d'exemple a été cassée deux fois, elle a fonctionné alors inchangée ici dans une session cmd, Pour ne pas avoir la première session powershell consommer le '$ _' vous devrez échapper le' $ 'avec un backtick' \ '' - -> '\' $ 'alors ça marche aussi. Pour obtenir une table, insérez '| Format-Table -auto' devant la dernière accolade. – LotPings