Я надеюсь, что вы можете помочь.Для некоторого фона одним из наших контроллеров домена является Server 2008 R2, а другим - 2012 R2, 2012 R2 содержит более свежие файлы ADMX.Основным DC является версия 2008 года, и мы планируем обновить ее в ближайшее время.
У меня есть политика домена по умолчанию, которая содержит базовый сценарий входа в систему (.bat), который сопоставляет диски и добавляет документы на рабочие столы пользователей.Эта политика применяется принудительно и включена связь и распространяется на все подразделения.
У меня есть дополнительная настройка политики в подразделении, связанном с нашим доменом, включая сценарий Powershell, который выполняется при входе в систему.Он был создан на дополнительном DC (2012), поскольку он использует функцию «Макет начального экрана» в меню «Пуск» и на панели задач - основной DC (2008) не имеет этих функций.
По некоторым причинамПолитика домена по умолчанию не запущена, однако вторая политика успешно выполняется.Есть ли причина, по которой это может происходить?У меня была путаница с параметрами принудительного применения для второй политики, но я не могу понять, почему она не запускает обе.
Это определенно что-то связанное с командами Powershell, которые я запускаю во второй политике,если я удаляю их, сценарии входа в систему по умолчанию будут работать нормально.
Некоторая дополнительная информация
Объясним, что всего есть 3 сценария (каждый из которых находится в расположении политики)в пределах сисвола).Первый файл ps1 копирует ярлык для устройств и принтеров из сетевого расположения, к которому имеют доступ все пользователи, и вставляет его в% appdata% для всех пользователей.Часть этого сценария использует файл startlayout.xml для ссылки на это местоположение, которое затем добавляет ярлык в меню запуска пользователей.
Copy-Item -Path "\\Server\Share\*.lnk" -Destination "$env:APPDATA\Microsoft\Windows\Start Menu\Programs"
Следующая команда удаляет загрузку вредоносного ПО, которое Win10 установок в профиле пользователя, я не буду публиковать все приложения в сценарии, кроме нескольких, поэтому вы получите суть:
$AppList = @(
"*Microsoft.3dbuilder*"
"*AdobeSystemsIncorporated.AdobePhotoshopExpress*"
"*Microsoft.WindowsAlarms*"
"*Microsoft.Asphalt8Airborne*"
)
foreach ($App in $AppList) {
Get-AppxPackage -Name $App | Remove-AppxPackage -ErrorAction SilentlyContinue
}
Сценарий, который добавляется какфактический сценарий входа в систему ссылается на расположение, в котором сидят два приведенных выше сценария и запускает их:
Get-ChildItem \\domain\SysVol\domain\Policies\'{Policy Number}'\User\Scripts\Logon | ForEach-Object {
& $_.FullName
}
Надеюсь, это поможет, независимо от того, есть ли команда выхода, или нетконечно, я не слишком разбираюсь в скриптах Powershell.
Дальнейшее обновление
Привет всем, еще одно обновление.Теперь я сделал все сопоставления дисков и копии документов с помощью групповой политики, что исключает первую политику, поэтому сейчас должен быть запущен только один сценарий входа в систему, который должен удалить Bloatware.Я решил попробовать вызвать его из файла .bat, используя следующую команду: PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "\\domainm\SysVol\domain\Policies\{Policy Number}\User\Scripts\Logon\BloatwareRemoval.ps1"'-Wait}"
Опять же, это будет работать только после того, как пользователь войдет во второй раз.Есть ли что-то явно очевидное, что я здесь упускаю? Заранее спасибо.
Заранее спасибо.