У меня есть сценарий, который я хочу запустить при запуске, но для этого требуются повышенные права. Есть ли способ сделать это с помощью групповой политики?
Я попытался добавить его в качестве сценария запуска с помощью GPO, но он не запускается. Если я запускаю его из стандартной командной строки, тогда доступ запрещен, но если я щелкну правой кнопкой мыши командную строку и выберу «Запуск от имени администратора», она будет работать нормально, поэтому я подозреваю, что это проблема с разрешением.
Сценарий устанавливает MTU на каждой сетевой карте равным 1400 следующим образом.
Dim strDNSDomain
Dim strComputer
Dim strID
Dim strKeyPath
Dim strValueName
Dim strDWValue
Const HKEY_LOCAL_MACHINE = &H80000002
Const DEFAULT_MTU_Size = 1400
const KEY_SET_VALUE = &H0002
'==== Gets the Setting for MTU from the command line in the form of /MTU:1500 ====
Set colNamedArguments = Wscript.Arguments.Named
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
strDWValue = DEFAULT_MTU_SIZE
Set colAdapters = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration")
For each objAdapter in colAdapters
strDNSDomain = objAdapter.DNSDomain
if Instr(1, strDNSDOmain, strTemp) >0 then
strID = objAdapter.SettingID
strKeyPath = "SYSTEM\CurrentControlSet\Services\TCPIP\Parameters\Interfaces\" & strID
strValueName = "MTU"
oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_QUERY_VALUE, bHasAccessRight
If bHasAccessRight = True Then
oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
WScript.Echo strKeyPath & " value " & strValueName & " contains " & dwValue
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strDWValue
WScript.Echo strKeyPath & " value " & strValueName & " changing to " & strDWValue
oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
WScript.Echo strKeyPath & " value " & strValueName & " changed to " & dwValue
Else
WScript.Echo "Cannot set registry value - access denied"
End if
End if
Next
Скрипты помещены в Конфигурация компьютера \ Параметры Windows \ Скрипты (запуск / завершение работы) работают как Локальная система обычно это все, что требуется для установки программ и т. д. То же самое можно сказать и о MSI, развернутых с использованием групповой политики.
Вы знаете, какие права требуются вашему скрипту? Что делает ваш скрипт, требующий этих привилегий?
Возьмите копию Process Monitor от Sysinternals и, с использованием стандартной учетной записи пользователя, следите за своим скриптом, чтобы узнать, что он делает и какие дополнительные привилегии необходимы для запуска. Затем вы можете использовать эту информацию, чтобы выяснить, почему учетная запись локальной системы не может ее запустить.
РЕДАКТИРОВАТЬ: вариант, доступный вам, - использовать сценарий запуска для запуска команды сетевой оболочки
netsh interface ipv4 set subinterface interface="Local Area Connection" mtu=1400
Это единственный лайнер, который вам нужен в вашем скрипте. Любое использование?
Льюис
Вы можете выполнить обновления реестра с помощью настроек групповой политики. Существует хороший набор параметров GPP для изменений реестра, как описано в этом документе TechNet - http://technet.microsoft.com/en-us/library/cc753092.aspx