Создать запланированное задание с правами администратора из PowerShell? - PullRequest
1 голос
/ 07 апреля 2020

У меня есть сценарий, который устанавливает экземпляр (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, но это, кажется, работает еще меньше. Кроме того, если я правильно понимаю документы для этого, он запускается только тогда, когда / любой пользователь входит в систему, что может никогда не произойти! Это (должен быть) сервер без головы, поэтому никто не должен когда-либо входить в систему.

Я не знаю, что делать дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...