У меня есть сценарий, который устанавливает экземпляр (AWS) (присоединяет домен, укрепляет и т. Д. c).
Часть этого (загрузка резервных копий объектов групповой политики, создание подразделений и пользователей) должна быть запущена после перезагрузки я решил создать для нее запланированное задание.
Но я не могу получить его, чтобы получить необходимый доступ!
$psexe = Join-Path $PSHOME powershell.exe
$T = New-ScheduledTaskTrigger -AtStartup
$P = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -RunLevel Highest -LogonType ServiceAccount
$S = New-ScheduledTaskSettingsSet
$A = New-ScheduledTaskAction -Execute $psexe -Argument "-NoProfile -NonInteractive -NoLogo -ExecutionPolicy Unrestricted -File C:\Windows\Temp\install_gpo.ps1"
$D = New-ScheduledTask -Action $A -Principal $P -Trigger $T -Settings $S
Register-ScheduledTask -TaskName "Install GPO" -InputObject $D -ErrorAction Ignore
Сам сценарий довольно прост :
Start-Transcript -path C:\log-install_gpo.txt
Import-GPO -BackupGpoName LogonBanner -TargetName LogonBanner -Path C:\Windows\Temp\GpoBackups -CreateIfNeeded
gpupdate
Stop-Transcript
Запуская задачу (!) Вручную из планировщика задач GUI и просматривая файл журнала, я вижу:
Username: DOMAIN\SYSTEM
RunAs User: DOMAIN\SYSTEM
[...]
Import-GPO : Access is denied. (Exception from HRESULT: 0x80070005
(E_ACCESSDENIED))
At C:\Windows\Temp\install_gpo.ps1:2 char:1
+ Import-GPO -BackupGpoName LogonBanner -TargetName LogonBanner -Path C ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-GPO], UnauthorizedAcce
ssException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.Gro
upPolicy.Commands.ImportGpoCommand
Похоже, что 'System «У пользователя нет доступа к тому, что я хочу / нужен! Не уверен, почему это так, я указываю самую высокую RunLevel
и Unrestricted
политику выполнения ..
Выполнение команды Import-GPO
в оболочке PS с повышенными правами работает просто отлично!
Я могу не запускайте его как Администратор , поскольку для этого потребуется пароль (который все равно не работает, Register-ScheduledTask
отказывается принять его в командной строке), я не могу указать оба -UserID
и -GroupID
(например, ... \ Administrator ) одновременно.
Я пытался использовать ключ реестра RunOnce, но это, кажется, работает еще меньше. Кроме того, если я правильно понимаю документы для этого, он запускается только тогда, когда / любой пользователь входит в систему, что может никогда не произойти! Это (должен быть) сервер без головы, поэтому никто не должен когда-либо входить в систему.
Я не знаю, что делать дальше.