Saltar al contenido

PowerShell Obtener la lista de carpetas compartidas

Verificamos exhaustivamente cada uno de los escritos de nuestra página web con el objetivo de mostrarte en todo momento la información con la mayor veracidad y actual.

Solución:

Prueba esto:

get-WmiObject -class Win32_Share -computer dc1.krypted.com

Árbitro: Mostrar recursos compartidos en Windows con PowerShell

Solo hay una forma de enumerar acciones de forma remota desde la línea de comando que yo sepa, y eso es con net view:

C:Usersmark.henderson>net view \enetsqnap01
Shared resources at \enetsqnap01



Share name             Type  Used as  Comment

-------------------------------------------------------------------------------
Backups                Disk
CallRecordings         Disk
Download               Disk           System default share
home                   Disk           Home
homes                  Disk           System default share
Installs               Disk
Justin                 Disk           Copy of files from Justin laptop
michael                Disk
Multimedia             Disk           System default share
Network Recycle Bin 1  Disk           [RAID5 Disk Volume: Drive 1 2 3 4]
Public                 Disk           System default share
Qsync                  Disk           Qsync
Recordings             Disk           System default share
Sales                  Disk           Sales Documents
SalesMechanix          Disk
Server2012             Disk           Windows Server 2012 Install Media
Usb                    Disk           System default share
VMWareTemplates        Disk
Web                    Disk           System default share
The command completed successfully.

Esto no es particularmente analizable por sí solo, pero puede incluirlo en un array para procesar los datos línea por línea:

$sharedFolders = (NET.EXE VIEW \enetsqnap01) 

Ahora tienes un array, y a partir de $sharedFolders[7] tienes tus acciones. Entonces podrías split en algo como un espacio doble: es poco probable que aparezca en el nombre de un recurso compartido en sí mismo, y debería funcionar a menos que el nombre de su recurso compartido sea muy largo, dejando solo un espacio único entre el nombre del recurso compartido y el campo de tipo:

$sharedFolders[7].split('  ')[0]
Backups

Podría procesarlos usando un ForEach y alguna lógica condicional. No sería perfecto, pero debería funcionar para la mayoría de los casos de uso.

Para abreviar, solo envíe los nombres de archivo a la consola:

(net view \enetsqnap01) | %  if($_.IndexOf(' Disk ') -gt 0) $_.Split('  ')[0]  

Si desea encontrar las acciones de la máquina local, simplemente puede hacerlo Get-SmbShare:

> Get-SmbShare

Name                          ScopeName                     Path                          Description
----                          ---------                     ----                          -----------
ADMIN$                        *                             C:WINDOWS                    Remote Admin
C$                            *                             C:                           Default share

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *