Запустите сценарий PowerShell один раз на всех компьютерах от имени администратора через объект групповой политики без изменения политики выполнения.

У меня есть сценарий PowerShell, который мне нужно запустить однажды на всех компьютерах в моем домене Active Directory. Большое количество компьютеров отключено в любой момент времени, поэтому объект групповой политики позволит нам гарантировать, что он применяется ко всем затронутым машинам. Однако сценарий необходимо запускать от имени администратора из-за изменения значений реестра. Кроме того, согласно нашему отделу безопасности, мы не можем изменить ExecutionPolicy на этих устройствах.

Есть ли способ запустить этот скрипт?

New-PSDrive -PSProvider registry -Root HKEY_CLASSES_ROOT -Name HKCR
$regKey = 'ms-msdt'
$saveFolder="C:\Temp\"
$savePath = $saveFolder + 'CVE-2022-30190.reg'
$PSRegPath="HKCR:\" + $regkey
$CMDRegPath="HKCR\" + $regkey
if(Test-Path $PSRegPath)
{
    if(!(Test-Path $saveFolder))
    {
        New-Item -Path $folder -ItemType Directory
    }
    Invoke-Command {reg export $CMDRegPath $savePath -Y}
    Remove-Item -Path $PSRegPath -Recurse -Force
}

Этот сценарий создает резервную копию записи реестра перед ее удалением в соответствии с рекомендациями Майкрософт по решению проблемы CVE-2022-30190.

Административные привилегии групповой политики PowerShell Windows Active Directory

CMS

1 ответ
1

Вы можете развернуть скрипт как Компьютер настройка с помощью Windows Settings > Scripts (Startup/Shutdown.

Эти сценарии будут выполняться в контексте системы, а не пользователя. Чтобы ограничить это выполнением только один раз, вы можете добавить в сценарий немного логики для проверки существования данных реестра.
Снимок экрана редактора групповой политики, открытого для настройки сценариев запуска.

СамЭрде

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *