VBNET remove a unidade de rede: a conexão de rede não existe / o nome do dispositivo local já está em uso

0

Eu estou preso em uma situação bastante funky. Resumindo, estou tentando remover / desconectar uma unidade de rede usando um script VB.NET, sem sucesso por enquanto. Nós chamaremos esta unidade V, e ela costumava ser armazenada em um servidor remoto - ela não existe mais.

O caminho de destino dessa unidade de rede foi removido e, portanto, não é possível localizá-lo, portanto, queremos removê-lo de nossas estações de trabalho. Como eu disse, V foi armazenado em um servidor remoto ... ainda de alguma forma em 'Meu Computador' é identificado como um Disco Rígido (ou seja, local, como C :). Interagir com V, clicando ou através de um script, produzirá o seguinte erro:

a conexão de rede não existe

Para removê-lo, criei este script simples:

driveLetter="V:"  caminho="***" 'oculto por motivos de segurança  mapDrives (objNetwork, driveLetter, path)

'---

Sub mapDrives (ByVal objNetwork, ByVal driveLetter, caminho ByVal)     Console.WriteLine ("")     Experimentar         Console.WriteLine ("Desconectando antigo" & driveLetter & "...")         objNetwork.RemoveNetworkDrive (driveLetter)         Console.WriteLine (driveLetter & "desconectado.")

Catch ex As Exception
    Console.WriteLine(ex.Message)
End Try

Try
    Console.WriteLine(" Mapping new " & driveLetter & "...")
    objNetwork.MapNetworkDrive(driveLetter, path)
    Console.WriteLine(driveLetter & " mapped successfully.")
Catch ex As Exception
    Console.WriteLine(ex.Message)
End Try

Usando o powershell, eu dou uma olhada se essa unidade está lá ou não. Eu digito gdr -PSProvider 'FileSystem', que retorna uma lista de todas as unidades disponíveis, tanto locais quanto remotas. Eu recebo todas as unidades, locais e remotas. V não faz parte dessa lista.

A próxima etapa é verificar o registro em HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ MountPoints2 para ver se há alguma entrada de lixo que não foi removida. Todas as entradas correspondem a unidades de rede ativas; V não está lá.

Em seguida, tentei executar vários comandos net use, por exemplo, para acessar / excluir a unidade. Os seguintes erros são produzidos alternativamente:

O nome do dispositivo local já está em uso (ao tentar excluir) Conexão de rede não pôde ser encontrada (whw

Em seguida, tento apenas remapear V: para outro local remoto existente. Eu recebo o seguinte erro:

Então, basicamente, tudo me diz que V não está lá e, portanto, deve estar disponível, mas ainda aparece como um disco local e não é possível interagir com ele, nem mapeá-lo em outro lugar. Ele não será exibido ao tentar ocultá-lo por meio da política de grupo.

FYI, nossas estações de trabalho executam o windows 7, e o script foi feito em VBNET. Ela costumava ser escrita em VBS, o que achamos que poderia ser o problema e, portanto, eu migrei para VBNET. O script funcionará bem com qualquer outra unidade.

Alguma sugestão? :) obrigado antecipadamente!

    
por sl4v1k 19.11.2013 / 14:03

0 respostas

Tags