Назад | Перейти на главную страницу

Запуск командного файла с повышенными правами через GPO

У меня есть ярлык, который специально использует Google Chrome. У нас есть XP и Windows 7, и я хочу использовать только один ярлык для обеих ОС. Причина в том, что наша среда довольно беспорядочная, некоторые пользователи все еще используют сценарии входа в систему, в то время как другие используют GPO для всего.

Вот командный файл, который я хочу использовать для сценария запуска компьютера:

if exist "C:\Program Files\Google\" (
    mklink /d "C:\Program Files\Google\Chrome" "C:\Program Files (x86)"\Google\Chrome"
) else (
    mklink /d "C:\Program Files\Google\" "C:\Program Files (x86)"\Google\"
)

Я создал новый GPO> поместил скрипт в каталог для этой политики \\domain\SysVol\domain\Policies\{}\Machine\Scripts\Startup > добавить скрипт в Computer Configuration > Policies > windows Settings > Scripts > Startup > script.bat. Я связал этот GPO с созданным OU, и компьютерный объект находится в этом OU.

Я выполнил GPResult и вижу, что GPResult был применен, но он не создал символическую ссылку, которую я ожидал. Есть ли проблема с NT Authority \ Local System при создании папок в C: \? Я попытался изменить сценарий на просто mkdir C:\temp и это тоже не сработало.

Примечание. Приведенный выше сценарий отлично работает, если я запускаю сценарий в конфигурации пользователя и у этого пользователя есть права администратора.

ОБНОВЛЕНИЕ: безуспешно пытался сделать mklink с Powershell. Я почти уверен, что вы не можете запустить mklink в сценарии запуска. Поэтому вместо использования этого сценария я просто использую таргетинг на уровень элементов в предпочтениях пользователя, чтобы скопировать другую ссылку в зависимости от ОС.

Возможно, сетевое соединение вашего компьютера не инициализируется до того, как групповая политика попытается запустить ваш сценарий. Статья МСКБ Клиенты Windows 7 периодически не могут применить групповую политику при запуске объясняет поведение, при котором сценарии запуска не работают, потому что сетевая ссылка не готова, когда GP выполняет сценарий. Предлагаются два решения:

Через групповую политику:

  • Настроить Время ожидания обработки политики запуска установка в Computer Configuration > Policies > Admin Templates > System > Group Policy до значения, достаточного для того, чтобы компьютер инициализировал свое сетевое соединение. Я использовал 10 секунд с большим успехом.

Через реестр:

  • Создайте значение DWORD GpNetworkStartTimeoutPolicyValue в подключе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon и укажите десятичное значение времени ожидания в секундах.