Ambos ejemplos no funcionan debido a la sintaxis incorrecta de PowerShell. El siguiente código enumera los tamaños de volumen del host actual (usando PowerShell 5.0):
Get-WmiObject win32_logicalDisk -filter "DriveType=3" | %{ $_.DeviceID; $_.FreeSpace/1GB }
El siguiente código enumera los tamaños de volumen de los hosts enumerados en server.txt :
Get-Content server.txt | %{ Get-WMIObject –computername $_ Win32_LogicalDisk -filter "DriveType=3" | %{ $_.DeviceID; $_.FreeSpace/1GB } }
Nota al margen
Tenga en cuenta que el marcador de lugar externo $_
enumera las direcciones del servidor, mientras que el marcador de lugar interno $_
enumera los dispositivos. Ese es un problema frecuente para los novatos de PowerShell. Si desea utilizar la dirección del servidor en el bucle interno, debe asignarla a una nueva variable en el bucle externo.
El software del foro utilizado aquí es defectuoso. En las vistas previas de las publicaciones, se muestra $_
correctamente como un $_
código aunque no se haya escapado. Pero la publicación final elimina el guión bajo, lo que hace que los ejemplos de PowerShell sean incorrectos.