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!
Tags vb.net