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