none
Script para Remover e Mapear Compartilhamentos RRS feed

  • Pergunta

  • Boa noite galera,

       Estou com uma duvida referente ao script abaixo, para remover e mapear os compartilhamentos. O script Remove e Adiciona os compartilhamentos que estão descritos nele, mas preciso que ele remova todos os compartilhamentos existentes sem gerar erro, porque ele gera um erro caso o Compartilhamento não exista e encerra o script e depois adicione só os descritos nele.

    segue o escript que estou usando:

    Dim oNet
    
    bForce = "True"
    
    bUpdateProfile = "True"
    
    Set oNet = CreateObject("WScript.Network")
    
    
    
    oNet.RemoveNetworkDrive "H:", bForce, bUpdateProfile
    
    oNet.RemoveNetworkDrive "K:", bForce, bUpdateProfile
    
    oNet.RemoveNetworkDrive "M:", bForce, bUpdateProfile
    
    
    
    strDrive1 = "H:"
    
    strDrive2 = "K:"
    
    strDrive3 = "M:"
    
    
    
    strCaminho1 = "\\servidor\compartilhamento"
    
    strCaminho2 = "\\servidor\compartilhamento"
    
    strCaminho3 = "\\servidor\compartilhamento"
    
    
    
    Set wshNetwork = CreateObject("WScript.Network")
    
    
    
    wshNetwork.MapNetworkDrive strDrive1, strCaminho1
    
    wshNetwork.MapNetworkDrive strDrive2, strCaminho2
    
    wshNetwork.MapNetworkDrive strDrive3, strCaminho3
    
    

    Douglas Oliveira Admin Rede []
    quarta-feira, 9 de setembro de 2009 21:28

Respostas

  • Olá,

    Faça o teste no script abaixo:


    on error resume next
    Set objNet = CreateObject("Wscript.Network")
    Set oDrives = objNet.EnumNetworkDrives

    For i = 0 to oDrives.Count -1 Step 2
       objNet.RemoveNetworkDrive oDrives.Item(i), true, true
    Next



    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quinta-feira, 10 de setembro de 2009 14:44

Todas as Respostas

  • Olá,

    Faz conforme o exemplo abaixo:


    Set objNet = CreateObject("Wscript.Network")
    Set oDrives = WshNetwork.EnumNetworkDrives

    Desconectar "H:"
    Desconectar "K:"
    Desconectar "M:"

    objNet.MapNetworkDrive "H:","\\servidor\compartilhamento1"
    objNet.MapNetworkDrive "K:","\\servidor\Compartilhamento2"
    objNet.MapNetworkDrive "M:","\\servidor\Compartilhamento3"


    Sub Desconectar(Drive)
    For i = 0 to oDrives.Count -1 Step 2
       if LCase(Drive) = LCase(oDrives.Item(i)) then
          objNet.RemoveNetworkDrive Drive, true, true
       End if
    Next

    End sub


    Até mais,

    Jesiel

    Obs.: Se útil, classifique



    quinta-feira, 10 de setembro de 2009 11:26
  • Obrigado Jesiel pela ajuda,  esse script eu já tinha testado e funciona ok. Mas o problea é que eu não sei a quantidade de drivers mapeados e as letras, por isso gostaria de um script que removesse todos os mapeamentos e depois mapeasse o que eu quero!


    vlw!!!!
    Douglas Oliveira Admin Rede []
    quinta-feira, 10 de setembro de 2009 14:37
  • Olá,

    Faça o teste no script abaixo:


    on error resume next
    Set objNet = CreateObject("Wscript.Network")
    Set oDrives = objNet.EnumNetworkDrives

    For i = 0 to oDrives.Count -1 Step 2
       objNet.RemoveNetworkDrive oDrives.Item(i), true, true
    Next



    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quinta-feira, 10 de setembro de 2009 14:44
  • OK Jesiel!!! Funcionou mto bem!!!


    obrigado.
    Douglas Oliveira Admin Rede []
    quinta-feira, 10 de setembro de 2009 15:57
  • Jesiel,

    Executei o script acima e mesmo assim não removeu o compartilhamento. Não apresenta nenhuma mensagem de erro, estou executando pelo prompt. Lembrando que estou tentando fazer um script que remova qualquer compartilhamento, até os ocultos, com exceção dos compartilhamentos administrativos.

    Obrigado!

    Rogério Borges
    quinta-feira, 17 de setembro de 2009 22:14
  • crie um arquivo texto e renomeie para: RemoverCompartilhamentos.vbs

    inclua o texto abaixo:

    'Script para excluir pastas compartilhadas. CUIDADO PARA NÃO RODAR NO SERVIDOR!!!
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

    'Busca a lista de compartilhamentos do sistema
    Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")

    ' Percorre a lista de compartilhamentos e os remove
    For each objShare in colShares
    ' Se desejar excluir também C$ e Admin$, comente a linha abaixo e o "end if"
     if (objShare.Type=0) then
     ' Se deseja exibir mensagem para o usuário, descomente a linha abaixo
     'WScript.Echo "Excluindo compartilhamento (" & objShare.Name & ")"
       if objshare.delete then
        WScript.echo "Error Deleting Share"
       end if
     end if
    Next

    'Criando os compartilhamentos padrões
    'NET SHARE NomeCompartilhamento=D:\PastaACompartilhar /GRANT:Dominio\GrupoDeUsuario,FULL

    • Sugerido como Resposta Ricardo Romualdo quarta-feira, 4 de dezembro de 2013 16:49
    quarta-feira, 4 de dezembro de 2013 16:49