Obter o GUID da ligação de rede
Isso obterá o GUID de um determinado nome de rede. Como o GUID é exclusivo para todos os computadores, esse GUID não é o GUID da rede, mas sim o identificador exclusivo que o computador usa para identificar a rede. Atualmente não tenho conhecimento dos critérios que o Windows usa para identificar a rede, mas no momento isso satisfaz minhas necessidades.No meu caso, o prompt não seria necessário, pois o nome da rede é uma constante (só muda quando / se a empresa muda o nome ).
O que isto faz é:
- Cria algumas pastas temporárias.
- Peça ao usuário o nome da rede. O nome atual da rede pode ser encontrado aqui:
- Obtenhaentradasderegistrocontendoonomedarede.
- CriaumscriptVBS.
- ExecutaoscriptVBSqueextrairáoGUIDdasentradasdelogemostraráumpop-upcomoGUID.
- Limpararquivosepastastemporários.
Atualização:Rimuito.Esqueceudecolaroscript.Aquivamosnós:
Script:
@ECHOOFFCLSREMMaketempfoldertoplacetemporaryfilesinIFNOTEXIST"%tmp%\TKH\Mirror_Folders" MD "%tmp%\TKH\Mirror_Folders"
REM Ask user for name of network to find GUID for
ECHO wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) >"%tmp%\TKH\Mirror_Folders\NetworkName.vbs"
FOR /f "tokens=* delims=" %%a IN ('cscript //nologo "%tmp%\TKH\Mirror_Folders\NetworkName.vbs" "Enter the name of the network" "Select network"') DO SET NetworkToSearchFor=%%a
REM Add 'Name'> to %NetworkToSearchFor% to filter out false results
SET SearchString="'Name'^^^>%NetworkToSearchFor%"
REM Get log entry for networkname
FOR /f "delims=" %%i IN ('wevtutil qe Microsoft-Windows-NetworkProfile/Operational /q:"Event[System[(EventID=10000)]]" /c:100 /rd:true /f:xml ^| FINDSTR /R "%SearchString%"') DO (
ECHO %%i>>"%tmp%\TKH\Mirror_Folders\Log entries.txt"
)
REM Make VBS-script to get GUID
(
ECHO. 'Creates local variables
ECHO. Private Arg, objInputFile, tmpStr
ECHO. 'Populate array with arguments
ECHO. 'Arg^(0^): filepath^+filename
ECHO. Set Arg = WScript.Arguments
ECHO.
ECHO. Set objInputFile = CreateObject^("Scripting.FileSystemObject"^).OpenTextFile^(Arg^(0^)^)
ECHO. tmpStr = objInputFile.ReadLine
ECHO.
ECHO. FirstCharacterToGet = InStr^(tmpStr, "<Data Name='Guid'>"^)^+18
ECHO. NumberOfCharactersToGet = 38
ECHO. GUID = mid^(tmpStr, FirstCharacterToGet, NumberOfCharactersToGet^)
ECHO. WScript.Echo GUID
)>"%tmp%\TKH\Mirror_Folders\Get GUID.vbs"
REM Call VBS-script to get GUID
FOR /F "usebackq tokens=*" %%r in ('CSCRIPT "%tmp%\TKH\Mirror_Folders\Get GUID.vbs" "%tmp%\TKH\Mirror_Folders\Log entries.txt"') DO SET GUID=%%r
ECHO %GUID%
mshta "javascript:alert('Your networks GUID is:\n%GUID%');close()"
REM Clean up
RD /Q /S "%tmp%\TKH\
Salve isso como "get GUID.cmd"