Enumerar compartilhamentos SMB remotos com o PowerShell em sistemas não Windows usando o Windows 7

1

Eu preciso de uma maneira de enumerar os compartilhamentos SMB de um sistema remoto não-Windows enquanto estiver usando o PowerShell no meu sistema Windows 7.

O servidor de arquivos que estou verificando não está executando um sistema operacional Windows. No entanto, eu preciso obter uma lista dos compartilhamentos SMB nesse servidor usando o PowerShell no meu sistema Windows 7 para que eu possa passar a lista para processamento adicional em um script.

A maioria das soluções que encontrei para enumerar compartilhamentos SMB em sistemas remotos com o PowerShell usam uma das duas opções que não estão disponíveis para mim.

  1. Módulos PowerShell relacionados a SMB. Isso seria ótimo, mas eles não estarão disponíveis até o Windows 8.1.
  2. WMI. Isso só é bom para destinos remotos baseados no Windows, onde o acesso WMI remoto é permitido. Não é esse o caso que estou lidando.

Quais outras opções eu tenho aqui?

Assumir baunilha Windows 7 SP 1. Softwares / módulos de terceiros não são uma opção. O PowerShell 4.0 está disponível para mim, mas a compatibilidade até 2.0 é a preferida.

    
por Iszi 06.08.2015 / 21:44

1 resposta

0

Você pode usar o provedor WinNT ADSI para fazer isso:

$lanman = [adsi]"WinNT://server123/lanmanserver,fileservice"
$lanman.children | foreach {[string]($_.name + "'t" + $_.path)}
    
por 28.06.2016 / 22:48