Restaurar e fazer backup, mapeou as unidades de rede sem fazer logoff

0

Eu uso este script para restaurar e fazer backup de unidades de rede

SET path=C:\Users\%USERNAME%\Desktop\drives_backup.reg

C:\Windows\System32\reg.exe Export HKEY_CURRENT_USER\Network %path%

Funciona muito bem, mas como não estou usando net use e estou editando o registro, preciso fazer com que o usuário efetue logoff e faça login novamente para que as alterações sejam aplicadas. Existe alguma maneira para a mesma coisa sem ter que fazer logoff do usuário?

Eu também tenho um script .vbs que salva as unidades de rede mapeadas no seguinte formato

G: (\path1\GROUPS)

mas não tenho ideia de como traduzir teses para

net use G: \path1\GROUPS
    
por BobbyT 19.06.2017 / 17:12

1 resposta

1

Você pode exportar o arquivo .reg e, em seguida, iterá-lo e usá-lo com net use :

setlocal enabledelayedexpansion

SET _path=C:\Users\%USERNAME%\Desktop\drives_backup.reg

C:\Windows\System32\reg.exe Export HKEY_CURRENT_USER\Network %_path%
for /f "tokens=1* delims=^=" %%a in ('type "%_path%"^|findstr /b .RemotePath') do (
    set network=%%~b
    set network=!network:\=\!
    for /f "delims=[]" %%# in ('find /n %%b "%_path%"') do set n=%%#
    set /a n-=1
    for /f "delims=[] tokens=2" %%# in ('find /n /v "" "%_path%"^|findstr /b /c:"[!n!]"') do net use %%~n#: "!network!"
)

Este script

  • exporta o arquivo .reg para o caminho fornecido
  • lê o arquivo .reg exportado e procura por linhas relevantes
  • para cada rede encontrada executa net use FOUNDDRIVELETTER: \found\network

Se bem entendi, o arquivo .reg não é alterado com frequência. Diga-me se você quiser que a função "exportar arquivo .reg" seja separada / opcional para a parte net use .

Além disso, recomendo enfaticamente que você não nomeie as variáveis como "caminho".

    
por 20.06.2017 / 13:45