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

3

У меня есть ярлык, который специально использует 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 в скрипте запуска. Поэтому вместо того, чтобы использовать этот сценарий, я просто использую таргетинг на уровне элементов под предпочтениями пользователя, чтобы скопировать другую ссылку в зависимости от ОС.

shinjijai
источник
Возможный дубликат: serverfault.com/q/279077/118258
HopelessN00b
@ HopelessN00b Я разместил сценарий в разделе «Конфигурация компьютера»> «Политики»> «Настройки Windows»> «Сценарии»> «Запуск», как подсказывает ссылка, но не решил мою проблему.
Синдзицзай
Компьютеры не используют сценарии входа. Компьютеры используют сценарии запуска. Пользователи используют сценарии входа. Можете ли вы уточнить, что вы имеете в виду, когда говорите, что на некоторых компьютерах используются сценарии входа?
Joeqwerty
3
Вы пытались выключить и снова включить компьютер? Не серьезно, сценарий не будет применяться, пока компьютер не будет выключен и снова запущен, если он применяется в сценарии «Запуск».
Get-HomeByFiveOClock
1
Добавьте запись в ваш скрипт. Заставьте это записывать материал в файл при запуске. Заставьте это записать материал в файл, когда он закончится. Возможно это работает и терпит неудачу так или иначе.
Зоредаче

Ответы:

2

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

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

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

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

  • Создайте значение DWORD GpNetworkStartTimeoutPolicyValue в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogonи укажите десятичное значение времени ожидания в секундах.
Твист имитатор
источник
Спасибо за предложение. Я посмотрел на эту настройку, и по умолчанию она составляет 30 секунд. Я изменил время на 120, и это все еще не решило проблему.
Синдзицзай