У меня есть ярлык, который использует 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 и вижу, что GP был применен, но он не создал символическую ссылку, которую я ожидал. Есть ли проблема с NT Authority\Local System, создающей папки в C:\? Я пробовал изменить скрипт на just, mkdir C:\temp
и это тоже не сработало.
Примечание: Приведенный выше скрипт работает отлично, если я запускаю его в конфигурации пользователя, и этот пользователь имеет права администратора.
ОБНОВЛЕНИЕ: Пытался сделать mklink с Powershell, но тоже безуспешно. Я почти уверен, что вы не можете запустить mklink в скрипте Start Up. Поэтому вместо использования этого скрипта я просто использую Item Level Targeting в User's preference, чтобы скопировать другую ссылку в зависимости от ОС.
решение1
Возможно, сетевое подключение вашего компьютера не инициализировано до того, как групповая политика попытается запустить ваш скрипт. Статья MSKBКлиенты Windows 7 периодически не применяют групповую политику при запускеобъясняет поведение, при котором Startup Scripts терпят неудачу, поскольку сетевое соединение не готово, когда GP выполняет скрипт. Предлагаются два решения:
Через групповую политику:
- НастройтеВремя ожидания обработки политики запускаустанавливая
Computer Configuration > Policies > Admin Templates > System > Group Policy
значение, достаточное для того, чтобы компьютер инициализировал свое сетевое соединение. Я использовал 10 секунд с большим успехом.
Через Реестр:
- Создайте значение DWORDGpNetworkStartTimeoutPolicyValueв подключаемом ключе
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
и укажите десятичное значение времени ожидания в секундах.