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

У меня есть ярлык, который специально использует 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\"
)

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

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

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

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

1 ответ

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

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

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

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

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