Como obtenho uma lista de todas as unidades de rede mapeadas para o meu sistema?

3

Mapeiei uma unidade de rede na conta do sistema local, ou seja, faço login na minha máquina usando uma conta sytem local. Agora eu fiz o logoff e entrei na máquina novamente usando outra conta de usuário válida, mas não consegui encontrar a unidade mapeada no meu computador explorador, embora consiga usar essa unidade mapeada em meu aplicativo. Isso é normal?

Existe alguma maneira de ver todas as unidades de rede mapeadas no meu sistema?

Estou em uma máquina com Windows XP.

    
por AMIT 22.02.2011 / 08:51

3 respostas

3

Sim, é normal. Conexões de rede e letras de unidade atribuídas a elas são locais de sessão. Normalmente eles desaparecem no logout (quando a sessão é destruída) e são recriados pelo Winlogon quando você faz o login novamente.

Com Local System , fica confuso.

Faça login como Local System novamente ( psexec -desi cmd pode ser útil) e execute < strong> net use para listar todas as conexões ou net use * /delete para desconectá-las.

    
por 22.02.2011 / 15:09
3
> net use

é o que você precisa. Consulte este para obter mais informações.

    
por 22.02.2011 / 09:10
0

Eu pego drives mapeados de uma máquina remota usando o powershell como parte de um script para mover suas configurações para a nova máquina de uma pessoa: (defina $ OldComputer para o nome ou IP do computador antigo) Ele passa pela lista de todos unidades no sistema remoto e, se não forem unidades locais, ele tentará remover esse mapeamento de unidade no computador atual (caso ele seja usado por outra coisa) e, em seguida, remapear. Comente o segundo para a última linha (o acima para foreach, e adicione sua própria linha para logar ou msgbox se você quiser.)

$netObj = New-Object -com wscript.Network
$WMI1 = [WMISearcher] "Select Name, Providername from win32_mappedLogicalDisk"
$WMI1.Scope.path="\" + $oldComputer + "\root\cimv2"
$WMI1.Options.ReturnImmediately
$ColDrives = $WMI1.Get()

foreach ($objDrive in $colDrives) {
      $TestLocal = get-wmiObject Win32_LogicalDisk | ? {$_.DeviceID -eq $objDrive.Name} | % {$_.Providername}
      If ($TestLocal) {
        Net Use /Delete $objDrive.Name >> $LogFile
      }#If
      #Map the drive
      Net use $objDrive.Name $objDrive.ProviderName  >> $LogFile
}#foreach 
    
por 22.02.2011 / 15:18