Для минимизации беготни по кабинетам при решении вопросов пользователей типа: "У меня не нажимается...!!!" Можно использовать средство удалённого администрирования TeamViewer. Да, других подобных средств много. Да, существуют более продвинутые средства. Статья не об этом, а о том как на многих машинах в домене сразу отучить TeamViewer требовать доступ в интернет (коего в изолированной сети нет).
Итак, есть TeamViewer v9, есть ActiveDirectory, есть 20+ компьютеров в домене, доступа к интернету с компьютеров нет.
Для начала размещаем рабочие файлы TeamViewer в сетевой, доступной только на чтение папке, например: \\dc\TeamViewer\Version9\
В папке \\dc\TeamViewer\ размещаем два файла: TeamViewerVersion9_OSx64.reg, и TeamViewerVersion9_OSx86.reg для 64 и 32 разрядных OC Windows соответственно.
Содержимое TeamViewerVersion9_OSx64.reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer\Version9]
"Proxy_Type"=dword:00000000
"Version"="9.0.32494 "
"UpdateCheckInterval"=dword:00000002
"AutoUpdateMode"=dword:00000003
"General_DirectLAN"=dword:00000001
"RemoteMonitoring_Activated"=dword:00000000
"LanOnly"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer\Version9\AccessControl]
"AC_Server_AccessControlType"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer\Version9\DefaultSettings]
"Autostart_GUI"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer\Version9\DeviceManagement]
Содержимое TeamViewerVersion9_OSx86.reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer]
[HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer\Version9]
"Proxy_Type"=dword:00000000
"Version"="9.0.32494 "
"UpdateCheckInterval"=dword:00000002
"AutoUpdateMode"=dword:00000003
"General_DirectLAN"=dword:00000001
"RemoteMonitoring_Activated"=dword:00000000
"LanOnly"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer\Version9\AccessControl]
"AC_Server_AccessControlType"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer\Version9\DefaultSettings]
"Autostart_GUI"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer\Version9\DeviceManagement]
Остаётся доставить содержимое файлов в реестр целевых машин. Я, за неимением большого количества времени, решал эту задачу с помощью включения VBS-скрипта в раздел Logon каждой машины через групповые политики AD.
Скрипт \\dc\TeamViewer\TeamViewer_add.vbs примерно следующего содержания:
xOS = "x64"If WSS.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%") = "x86" AND WSS.ExpandEnvironmentStrings("%PROCESSOR_ARCHITEW6432%") = "%PROCESSOR_ARCHITEW6432%" If xOS = "x64" Then
CodeExecute("\\dc\TeamViewer\TeamViewerVersion9_OSx64.reg")
End If
If xOS = "x86" Then
CodeExecute("\\dc\TeamViewer\TeamViewerVersion9_OSx86.reg")
End If
'Очищаем память и выходим
Set WSS = Nothing
WScript.Quit()Function CodeExecute(RegfileName)
command = "regedit /s " & RegfileName
WSS.Run command, 0, True
WScript.Sleep 500
End Function
Так как содержимое веток реестра для 32 и 64 разрядных систем разное, то скрипт определяет разрядность целевой системы и применяет подходящий reg-файл.
Плюс такого подхода: замена важных значений на нужные/дефолтные при каждом входе пользователя в систему, независимо от того, что там в реестре понапропишет TeamViewer.
Остаётся только доставить на рабочие столы пользователей ярлык с каким-нибудь говорящим названием (например "Помощник.lnk") ссылающийся на \\dc\TeamViewer\Version9\TeamViewer.exe. Я решил, что мне это сделать проще и быстрее ручками...