Script de Powershell para enumerar carpetas en todos los recursos compartidos

Script de Powershell para enumerar carpetas en todos los recursos compartidos

Pregunta estúpida pero no estoy seguro de si esto es posible.

Tengo un servidor de archivos que aloja 8 recursos compartidos separados. Estaba buscando una secuencia de comandos para obtener una lista de los nombres de las carpetas (sin subcarpetas) para todos los recursos compartidos.

Puedo usarGet-ChildItem -ruta "\server1\share1*" | Donde {$_.PsIsContainer}para enumerar las carpetas de un recurso compartido específico, pero estoy tratando de encontrar una manera de usar simplemente la ruta del servidor para enumerar todos los recursos compartidos y carpetas a la vez.

¿La única opción es ejecutar el script individualmente para cada recurso compartido?

Respuesta1

Get-WmiObject -Query "SELECT Name, Path FROM Win32_Share" | Format-Table Name, Path

Respuesta2

Parece que desea el parámetro -recurse para Get-Childitem, esto enumera el contenido de cada carpeta debajo (y también su contenido), aunque si hay muchas carpetas esto puede resultar difícil de manejar.

Otra opción es utilizar comodines (*).

Get-Childitem -path "\server1\*\*"

Esto buscará cualquier carpeta en "\servidor1" y luego cualquier carpeta en esas carpetas, si desea profundizar (¡dirección!), puede simplemente agregar más "*".

información relacionada