Je decouvre PowerShell car je voudrais par exemple obtenir des infos (espace
utilisé ou libre)
sur l'espace disque du C: d'un PC distant.
Est-ce possible ?
Merci d'avance,
Robby
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LAURENT
"Robby" a écrit dans le message de news:eyAbTa% | Bonjour, | | Je decouvre PowerShell car je voudrais par exemple obtenir des infos | (espace utilisé ou libre) sur l'espace disque du C: d'un PC distant. | Est-ce possible ? | Merci d'avance, | Robby
Note: Remplacez le point final par le nom de hôte du poste distant
-- Gilles LAURENT http://glsft.free.fr
"Robby" <fabrice@discussions.microsoft.com> a écrit dans le message de
news:eyAbTa%23OHHA.400@TK2MSFTNGP04.phx.gbl
| Bonjour,
|
| Je decouvre PowerShell car je voudrais par exemple obtenir des infos
| (espace utilisé ou libre) sur l'espace disque du C: d'un PC distant.
| Est-ce possible ?
| Merci d'avance,
| Robby
"Robby" a écrit dans le message de news:eyAbTa% | Bonjour, | | Je decouvre PowerShell car je voudrais par exemple obtenir des infos | (espace utilisé ou libre) sur l'espace disque du C: d'un PC distant. | Est-ce possible ? | Merci d'avance, | Robby
Note: Remplacez le point final par le nom de hôte du poste distant
-- Gilles LAURENT http://glsft.free.fr
Gilles LAURENT
"Robby" a écrit dans le message de news:eyAbTa% | Bonjour,
Bonjour,
| Je decouvre PowerShell car je voudrais par exemple obtenir des infos | (espace utilisé ou libre) | sur l'espace disque du C: d'un PC distant. | Est-ce possible ? | Merci d'avance, | Robby
--- Coupez ici ---
strHost = "." Set oWmi = GetObject ("winmgmts://" & strHost & "/root/cimv2") Set colDisks = oWmi.ExecQuery ( _ "select * from Win32_LogicalDisk Where DeviceId='C:'") For Each oDisk In colDisks WScript.Echo "DeviceId : " & oDisk.DeviceId WScript.Echo "FreeSpace : " & oDisk.FreeSpace WScript.Echo "Size : " & oDisk.Size Next
--- Coupez ici ---
-- Gilles LAURENT http://glsft.free.fr
"Robby" <fabrice@discussions.microsoft.com> a écrit dans le message de
news:eyAbTa%23OHHA.400@TK2MSFTNGP04.phx.gbl
| Bonjour,
Bonjour,
| Je decouvre PowerShell car je voudrais par exemple obtenir des infos
| (espace utilisé ou libre)
| sur l'espace disque du C: d'un PC distant.
| Est-ce possible ?
| Merci d'avance,
| Robby
--- Coupez ici ---
strHost = "."
Set oWmi = GetObject ("winmgmts://" & strHost & "/root/cimv2")
Set colDisks = oWmi.ExecQuery ( _
"select * from Win32_LogicalDisk Where DeviceId='C:'")
For Each oDisk In colDisks
WScript.Echo "DeviceId : " & oDisk.DeviceId
WScript.Echo "FreeSpace : " & oDisk.FreeSpace
WScript.Echo "Size : " & oDisk.Size
Next
"Robby" a écrit dans le message de news:eyAbTa% | Bonjour,
Bonjour,
| Je decouvre PowerShell car je voudrais par exemple obtenir des infos | (espace utilisé ou libre) | sur l'espace disque du C: d'un PC distant. | Est-ce possible ? | Merci d'avance, | Robby
--- Coupez ici ---
strHost = "." Set oWmi = GetObject ("winmgmts://" & strHost & "/root/cimv2") Set colDisks = oWmi.ExecQuery ( _ "select * from Win32_LogicalDisk Where DeviceId='C:'") For Each oDisk In colDisks WScript.Echo "DeviceId : " & oDisk.DeviceId WScript.Echo "FreeSpace : " & oDisk.FreeSpace WScript.Echo "Size : " & oDisk.Size Next
--- Coupez ici ---
-- Gilles LAURENT http://glsft.free.fr
Jacques Barathon [MS]
"Gilles LAURENT" wrote in message news:Oe71y7% <...>
Petit rappel, on peut utiliser les alias KB, MB et GB quand on manipule des nombres:
PS> $c.freespace/1MB 1554.28515625
Et pour arrondir le résultat, on peut utiliser la méthode Round() de la classe [math]:
PS> [math]::round($c.freespace/1MB) 1554
Plus compliqué (mais non :-))... Si on a une liste de PC dans un fichier texte, on peut énumérer les espaces totaux et libres de toutes leurs partitions:
On peut taper tout ça en une seule ligne, ou tout mettre dans un script. Dans le cas d'un script, on pourra alors remplacer "liste.txt" par "args[0]" pour passer la liste en argument. L'essentiel du bla-bla est destiné à travailler le résultat pour qu'il s'affiche sous forme d'une table comme ceci:
Nom Volume Total (Mo) Libre (Mo) --- ------ ---------- ---------- JBARATHO02 C: 38152 1555
(utiliser une police à taille fixe pour voir la table ci-dessus correctement tabulée)
NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que les disques C: (voir exemple initial de Gilles).
Jacques
"Gilles LAURENT" <glsft@free.fr> wrote in message
news:Oe71y7%23OHHA.2232@TK2MSFTNGP02.phx.gbl...
<...>
Petit rappel, on peut utiliser les alias KB, MB et GB quand on manipule des
nombres:
PS> $c.freespace/1MB
1554.28515625
Et pour arrondir le résultat, on peut utiliser la méthode Round() de la
classe [math]:
PS> [math]::round($c.freespace/1MB)
1554
Plus compliqué (mais non :-))... Si on a une liste de PC dans un fichier
texte, on peut énumérer les espaces totaux et libres de toutes leurs
partitions:
On peut taper tout ça en une seule ligne, ou tout mettre dans un script.
Dans le cas d'un script, on pourra alors remplacer "liste.txt" par "args[0]"
pour passer la liste en argument. L'essentiel du bla-bla est destiné à
travailler le résultat pour qu'il s'affiche sous forme d'une table comme
ceci:
Nom Volume Total (Mo) Libre (Mo)
--- ------ ---------- ----------
JBARATHO02 C: 38152 1555
(utiliser une police à taille fixe pour voir la table ci-dessus correctement
tabulée)
NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles (si je
ne m'abuse), ce qui permet de ne pas récupérer les lecteurs CD/DVD/etc. On
peut également filtrer sur le volume si on ne veut que les disques C: (voir
exemple initial de Gilles).
Petit rappel, on peut utiliser les alias KB, MB et GB quand on manipule des nombres:
PS> $c.freespace/1MB 1554.28515625
Et pour arrondir le résultat, on peut utiliser la méthode Round() de la classe [math]:
PS> [math]::round($c.freespace/1MB) 1554
Plus compliqué (mais non :-))... Si on a une liste de PC dans un fichier texte, on peut énumérer les espaces totaux et libres de toutes leurs partitions:
On peut taper tout ça en une seule ligne, ou tout mettre dans un script. Dans le cas d'un script, on pourra alors remplacer "liste.txt" par "args[0]" pour passer la liste en argument. L'essentiel du bla-bla est destiné à travailler le résultat pour qu'il s'affiche sous forme d'une table comme ceci:
Nom Volume Total (Mo) Libre (Mo) --- ------ ---------- ---------- JBARATHO02 C: 38152 1555
(utiliser une police à taille fixe pour voir la table ci-dessus correctement tabulée)
NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que les disques C: (voir exemple initial de Gilles).
Jacques
Gilles LAURENT
"Jacques Barathon [MS]" a écrit dans le message de news:u8tdcU$ | "Gilles LAURENT" wrote in message | news:Oe71y7% | <...> || PS D:Test> gwmi win32_logicaldisk -filter "DeviceId='C:'" -computer || . || || Note: Remplacez le point final par le nom de hôte du poste distant | | Dans le cas où on utilise un filtre WMI pour ne récupérer qu'un objet | (ici, un disque logique), on peut également utiliser cette notation: | || [wmi].rootcimv2:win32_logicaldisk.DeviceId='C:'
Tout à fait. C'est une syntaxe native wmi et donc également valable en VBScript :
Set oDisk=GetObject ("winmgmts://./root/cimv2:win32_logicaldisk.deviceid='C:'") WScript.Echo oDisk.Size
| Si on ne veut qu'une valeur particulière (par exemple l'espace libre) | on pourra écrire ceci: | || $c = [wmi]".rootcimv2:win32_logicaldisk.DeviceId='C:'" || $c.freespace | 1629786112 | | Petit rappel, on peut utiliser les alias KB, MB et GB quand on | manipule des nombres: | || $c.freespace/1MB | 1554.28515625 | | Et pour arrondir le résultat, on peut utiliser la méthode Round() de | la classe [math]: | || [math]::round($c.freespace/1MB) | 1554 | | Plus compliqué (mais non :-))... Si on a une liste de PC dans un | fichier texte, on peut énumérer les espaces totaux et libres de | toutes leurs partitions: | | get-content liste.txt | foreach { | gwmi win32_logicaldisk -filter "DriveType=3" -computer $_ | } | format-table @{l="Nom";e={$_.__Server}}, | @{l="Volume";e={$_.DeviceId}}, | @{l="Total (Mo)";e={[math]::round($_.Size/1MB)}}, | @{l="Libre (Mo)";e={[math]::round($_.FreeSpace/1MB)}} -a | | On peut taper tout ça en une seule ligne, ou tout mettre dans un | script. Dans le cas d'un script, on pourra alors remplacer | "liste.txt" par "args[0]" pour passer la liste en argument. | L'essentiel du bla-bla est destiné à travailler le résultat pour | qu'il s'affiche sous forme d'une table comme ceci: | | Nom Volume Total (Mo) Libre (Mo) | --- ------ ---------- ---------- | JBARATHO02 C: 38152 1555 | | (utiliser une police à taille fixe pour voir la table ci-dessus | correctement tabulée) | | NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles | (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs | CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que | les disques C: (voir exemple initial de Gilles). | | Jacques
Je pense que cela peut faire l'objet d'un nouveau billet :-)
-- Gilles LAURENT http://glsft.free.fr
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> a écrit dans le
message de news:u8tdcU$OHHA.3872@TK2MSFTNGP06.phx.gbl
| "Gilles LAURENT" <glsft@free.fr> wrote in message
| news:Oe71y7%23OHHA.2232@TK2MSFTNGP02.phx.gbl...
| <...>
|| PS D:Test> gwmi win32_logicaldisk -filter "DeviceId='C:'" -computer
|| .
||
|| Note: Remplacez le point final par le nom de hôte du poste distant
|
| Dans le cas où on utilise un filtre WMI pour ne récupérer qu'un objet
| (ici, un disque logique), on peut également utiliser cette notation:
|
|| [wmi]\.rootcimv2:win32_logicaldisk.DeviceId='C:'
Tout à fait. C'est une syntaxe native wmi et donc également valable en
VBScript :
Set oDisk=GetObject
("winmgmts://./root/cimv2:win32_logicaldisk.deviceid='C:'")
WScript.Echo oDisk.Size
| Si on ne veut qu'une valeur particulière (par exemple l'espace libre)
| on pourra écrire ceci:
|
|| $c = [wmi]"\.rootcimv2:win32_logicaldisk.DeviceId='C:'"
|| $c.freespace
| 1629786112
|
| Petit rappel, on peut utiliser les alias KB, MB et GB quand on
| manipule des nombres:
|
|| $c.freespace/1MB
| 1554.28515625
|
| Et pour arrondir le résultat, on peut utiliser la méthode Round() de
| la classe [math]:
|
|| [math]::round($c.freespace/1MB)
| 1554
|
| Plus compliqué (mais non :-))... Si on a une liste de PC dans un
| fichier texte, on peut énumérer les espaces totaux et libres de
| toutes leurs partitions:
|
| get-content liste.txt | foreach {
| gwmi win32_logicaldisk -filter "DriveType=3" -computer $_
| } | format-table @{l="Nom";e={$_.__Server}},
| @{l="Volume";e={$_.DeviceId}},
| @{l="Total (Mo)";e={[math]::round($_.Size/1MB)}},
| @{l="Libre (Mo)";e={[math]::round($_.FreeSpace/1MB)}} -a
|
| On peut taper tout ça en une seule ligne, ou tout mettre dans un
| script. Dans le cas d'un script, on pourra alors remplacer
| "liste.txt" par "args[0]" pour passer la liste en argument.
| L'essentiel du bla-bla est destiné à travailler le résultat pour
| qu'il s'affiche sous forme d'une table comme ceci:
|
| Nom Volume Total (Mo) Libre (Mo)
| --- ------ ---------- ----------
| JBARATHO02 C: 38152 1555
|
| (utiliser une police à taille fixe pour voir la table ci-dessus
| correctement tabulée)
|
| NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles
| (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs
| CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que
| les disques C: (voir exemple initial de Gilles).
|
| Jacques
Je pense que cela peut faire l'objet d'un nouveau billet :-)
"Jacques Barathon [MS]" a écrit dans le message de news:u8tdcU$ | "Gilles LAURENT" wrote in message | news:Oe71y7% | <...> || PS D:Test> gwmi win32_logicaldisk -filter "DeviceId='C:'" -computer || . || || Note: Remplacez le point final par le nom de hôte du poste distant | | Dans le cas où on utilise un filtre WMI pour ne récupérer qu'un objet | (ici, un disque logique), on peut également utiliser cette notation: | || [wmi].rootcimv2:win32_logicaldisk.DeviceId='C:'
Tout à fait. C'est une syntaxe native wmi et donc également valable en VBScript :
Set oDisk=GetObject ("winmgmts://./root/cimv2:win32_logicaldisk.deviceid='C:'") WScript.Echo oDisk.Size
| Si on ne veut qu'une valeur particulière (par exemple l'espace libre) | on pourra écrire ceci: | || $c = [wmi]".rootcimv2:win32_logicaldisk.DeviceId='C:'" || $c.freespace | 1629786112 | | Petit rappel, on peut utiliser les alias KB, MB et GB quand on | manipule des nombres: | || $c.freespace/1MB | 1554.28515625 | | Et pour arrondir le résultat, on peut utiliser la méthode Round() de | la classe [math]: | || [math]::round($c.freespace/1MB) | 1554 | | Plus compliqué (mais non :-))... Si on a une liste de PC dans un | fichier texte, on peut énumérer les espaces totaux et libres de | toutes leurs partitions: | | get-content liste.txt | foreach { | gwmi win32_logicaldisk -filter "DriveType=3" -computer $_ | } | format-table @{l="Nom";e={$_.__Server}}, | @{l="Volume";e={$_.DeviceId}}, | @{l="Total (Mo)";e={[math]::round($_.Size/1MB)}}, | @{l="Libre (Mo)";e={[math]::round($_.FreeSpace/1MB)}} -a | | On peut taper tout ça en une seule ligne, ou tout mettre dans un | script. Dans le cas d'un script, on pourra alors remplacer | "liste.txt" par "args[0]" pour passer la liste en argument. | L'essentiel du bla-bla est destiné à travailler le résultat pour | qu'il s'affiche sous forme d'une table comme ceci: | | Nom Volume Total (Mo) Libre (Mo) | --- ------ ---------- ---------- | JBARATHO02 C: 38152 1555 | | (utiliser une police à taille fixe pour voir la table ci-dessus | correctement tabulée) | | NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles | (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs | CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que | les disques C: (voir exemple initial de Gilles). | | Jacques
Je pense que cela peut faire l'objet d'un nouveau billet :-)
-- Gilles LAURENT http://glsft.free.fr
Robby
Merci beaucoup, ca marche.
"Gilles LAURENT" a écrit dans le message de news: uJ$
"Jacques Barathon [MS]" a écrit dans le message de news:u8tdcU$ | "Gilles LAURENT" wrote in message | news:Oe71y7% | <...> || PS D:Test> gwmi win32_logicaldisk -filter "DeviceId='C:'" -computer || . || || Note: Remplacez le point final par le nom de hôte du poste distant | | Dans le cas où on utilise un filtre WMI pour ne récupérer qu'un objet | (ici, un disque logique), on peut également utiliser cette notation: | || [wmi].rootcimv2:win32_logicaldisk.DeviceId='C:'
Tout à fait. C'est une syntaxe native wmi et donc également valable en VBScript :
Set oDisk=GetObject ("winmgmts://./root/cimv2:win32_logicaldisk.deviceid='C:'") WScript.Echo oDisk.Size
| Si on ne veut qu'une valeur particulière (par exemple l'espace libre) | on pourra écrire ceci: | || $c = [wmi]".rootcimv2:win32_logicaldisk.DeviceId='C:'" || $c.freespace | 1629786112 | | Petit rappel, on peut utiliser les alias KB, MB et GB quand on | manipule des nombres: | || $c.freespace/1MB | 1554.28515625 | | Et pour arrondir le résultat, on peut utiliser la méthode Round() de | la classe [math]: | || [math]::round($c.freespace/1MB) | 1554 | | Plus compliqué (mais non :-))... Si on a une liste de PC dans un | fichier texte, on peut énumérer les espaces totaux et libres de | toutes leurs partitions: | | get-content liste.txt | foreach { | gwmi win32_logicaldisk -filter "DriveType=3" -computer $_ | } | format-table @{l="Nom";e={$_.__Server}}, | @{l="Volume";e={$_.DeviceId}}, | @{l="Total (Mo)";e={[math]::round($_.Size/1MB)}}, | @{l="Libre (Mo)";e={[math]::round($_.FreeSpace/1MB)}} -a | | On peut taper tout ça en une seule ligne, ou tout mettre dans un | script. Dans le cas d'un script, on pourra alors remplacer | "liste.txt" par "args[0]" pour passer la liste en argument. | L'essentiel du bla-bla est destiné à travailler le résultat pour | qu'il s'affiche sous forme d'une table comme ceci: | | Nom Volume Total (Mo) Libre (Mo) | --- ------ ---------- ---------- | JBARATHO02 C: 38152 1555 | | (utiliser une police à taille fixe pour voir la table ci-dessus | correctement tabulée) | | NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles | (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs | CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que | les disques C: (voir exemple initial de Gilles). | | Jacques
Je pense que cela peut faire l'objet d'un nouveau billet :-)
-- Gilles LAURENT http://glsft.free.fr
Merci beaucoup, ca marche.
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de news:
uJ$6V7APHHA.448@TK2MSFTNGP04.phx.gbl...
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> a écrit dans le
message de news:u8tdcU$OHHA.3872@TK2MSFTNGP06.phx.gbl
| "Gilles LAURENT" <glsft@free.fr> wrote in message
| news:Oe71y7%23OHHA.2232@TK2MSFTNGP02.phx.gbl...
| <...>
|| PS D:Test> gwmi win32_logicaldisk -filter "DeviceId='C:'" -computer
|| .
||
|| Note: Remplacez le point final par le nom de hôte du poste distant
|
| Dans le cas où on utilise un filtre WMI pour ne récupérer qu'un objet
| (ici, un disque logique), on peut également utiliser cette notation:
|
|| [wmi]\.rootcimv2:win32_logicaldisk.DeviceId='C:'
Tout à fait. C'est une syntaxe native wmi et donc également valable en
VBScript :
Set oDisk=GetObject
("winmgmts://./root/cimv2:win32_logicaldisk.deviceid='C:'")
WScript.Echo oDisk.Size
| Si on ne veut qu'une valeur particulière (par exemple l'espace libre)
| on pourra écrire ceci:
|
|| $c = [wmi]"\.rootcimv2:win32_logicaldisk.DeviceId='C:'"
|| $c.freespace
| 1629786112
|
| Petit rappel, on peut utiliser les alias KB, MB et GB quand on
| manipule des nombres:
|
|| $c.freespace/1MB
| 1554.28515625
|
| Et pour arrondir le résultat, on peut utiliser la méthode Round() de
| la classe [math]:
|
|| [math]::round($c.freespace/1MB)
| 1554
|
| Plus compliqué (mais non :-))... Si on a une liste de PC dans un
| fichier texte, on peut énumérer les espaces totaux et libres de
| toutes leurs partitions:
|
| get-content liste.txt | foreach {
| gwmi win32_logicaldisk -filter "DriveType=3" -computer $_
| } | format-table @{l="Nom";e={$_.__Server}},
| @{l="Volume";e={$_.DeviceId}},
| @{l="Total (Mo)";e={[math]::round($_.Size/1MB)}},
| @{l="Libre (Mo)";e={[math]::round($_.FreeSpace/1MB)}} -a
|
| On peut taper tout ça en une seule ligne, ou tout mettre dans un
| script. Dans le cas d'un script, on pourra alors remplacer
| "liste.txt" par "args[0]" pour passer la liste en argument.
| L'essentiel du bla-bla est destiné à travailler le résultat pour
| qu'il s'affiche sous forme d'une table comme ceci:
|
| Nom Volume Total (Mo) Libre (Mo)
| --- ------ ---------- ----------
| JBARATHO02 C: 38152 1555
|
| (utiliser une police à taille fixe pour voir la table ci-dessus
| correctement tabulée)
|
| NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles
| (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs
| CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que
| les disques C: (voir exemple initial de Gilles).
|
| Jacques
Je pense que cela peut faire l'objet d'un nouveau billet :-)
"Gilles LAURENT" a écrit dans le message de news: uJ$
"Jacques Barathon [MS]" a écrit dans le message de news:u8tdcU$ | "Gilles LAURENT" wrote in message | news:Oe71y7% | <...> || PS D:Test> gwmi win32_logicaldisk -filter "DeviceId='C:'" -computer || . || || Note: Remplacez le point final par le nom de hôte du poste distant | | Dans le cas où on utilise un filtre WMI pour ne récupérer qu'un objet | (ici, un disque logique), on peut également utiliser cette notation: | || [wmi].rootcimv2:win32_logicaldisk.DeviceId='C:'
Tout à fait. C'est une syntaxe native wmi et donc également valable en VBScript :
Set oDisk=GetObject ("winmgmts://./root/cimv2:win32_logicaldisk.deviceid='C:'") WScript.Echo oDisk.Size
| Si on ne veut qu'une valeur particulière (par exemple l'espace libre) | on pourra écrire ceci: | || $c = [wmi]".rootcimv2:win32_logicaldisk.DeviceId='C:'" || $c.freespace | 1629786112 | | Petit rappel, on peut utiliser les alias KB, MB et GB quand on | manipule des nombres: | || $c.freespace/1MB | 1554.28515625 | | Et pour arrondir le résultat, on peut utiliser la méthode Round() de | la classe [math]: | || [math]::round($c.freespace/1MB) | 1554 | | Plus compliqué (mais non :-))... Si on a une liste de PC dans un | fichier texte, on peut énumérer les espaces totaux et libres de | toutes leurs partitions: | | get-content liste.txt | foreach { | gwmi win32_logicaldisk -filter "DriveType=3" -computer $_ | } | format-table @{l="Nom";e={$_.__Server}}, | @{l="Volume";e={$_.DeviceId}}, | @{l="Total (Mo)";e={[math]::round($_.Size/1MB)}}, | @{l="Libre (Mo)";e={[math]::round($_.FreeSpace/1MB)}} -a | | On peut taper tout ça en une seule ligne, ou tout mettre dans un | script. Dans le cas d'un script, on pourra alors remplacer | "liste.txt" par "args[0]" pour passer la liste en argument. | L'essentiel du bla-bla est destiné à travailler le résultat pour | qu'il s'affiche sous forme d'une table comme ceci: | | Nom Volume Total (Mo) Libre (Mo) | --- ------ ---------- ---------- | JBARATHO02 C: 38152 1555 | | (utiliser une police à taille fixe pour voir la table ci-dessus | correctement tabulée) | | NB. Le filtre "DriveType=3" ne prend que les partitions non-amovibles | (si je ne m'abuse), ce qui permet de ne pas récupérer les lecteurs | CD/DVD/etc. On peut également filtrer sur le volume si on ne veut que | les disques C: (voir exemple initial de Gilles). | | Jacques
Je pense que cela peut faire l'objet d'un nouveau billet :-)
-- Gilles LAURENT http://glsft.free.fr
Jacques Barathon [MS]
"Gilles LAURENT" wrote in message news:uJ$ <...>
Je pense que cela peut faire l'objet d'un nouveau billet :-)