PowerShell - Установить значение одного параметра GPO на локальном ПК

Ответить
 • Просмотры: 1
Аватара пользователя
Anton04

PowerShell - Установить значение одного параметра GPO на локальном ПК

Сообщение Anton04 »

Приветствую.



Есть в GPO параметр Удаление сведений о зоне происхождения вложений, находиться он по адресу: Конфигурация пользователя->Административные шаблоны->Компоненты Windows->Диспетчер вложений

Необходимо на ПК не в домене, данный параметр включить. Как это сделать с помощью PowerShell?



P.S. ОС Windows 10 Pro.
Аватара пользователя
Казбек

Re: PowerShell - Установить значение одного параметра GPO на локальном ПК

Сообщение Казбек »

Anton04,



Для того, чтобы сделать это через PowerShell, для начала найдем корреспондирующий политике ключ в реестре:
Information about the Attachment Manager in Microsoft Windows


Как видим, это:



Код:

Код: Выделить всё

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments

Параметр = SaveZoneInformation

Значения параметра = 1[/i]



Далее, вам нужно внести эти изменения, используя PS. Вот вам два хороших мануала, где все подробно расписано:
Работа с записями реестра
Update or Add Registry Key Value with PowerShell
Если возникнут сопутствующие вопросы - задавайте.



Можно, конечно, и напрямую:
Use Windows PowerShell to Manage Group Policy
. Но там дополнительные требования по ОС.
Аватара пользователя
Kazun

Re: PowerShell - Установить значение одного параметра GPO на локальном ПК

Сообщение Kazun »

https://www.microsoft.com/en-us/down....aspx?id=55319
- качаете LGPO



Формируем файл, sv.txt :



Код:

Код: Выделить всё

USER
Software\Microsoft\Windows\CurrentVersion\Policies\Attachments
SaveZoneInformation
DWORD:1

Создаем политику:



Код:

Код: Выделить всё

LGPO.exe /r C:\sv.txt /w C:\sv.pol

Импортируем:



Код:

Код: Выделить всё

LGPO.exe /u C:\sv.pol

PS. Пользователь не имеет право писать в ветку Policies, поэтому подсказка выше, может сработать только от Администратора.
Аватара пользователя
Казбек

Re: PowerShell - Установить значение одного параметра GPO на локальном ПК

Сообщение Казбек »

Казбек,



Про реестр знаю, но не то.



Тестирую так.

Запускаю mmc и добавляю GPO. Дохожу до нужного параметра. Снимаю состояние реестра Regshot`ом. Меняю значение на нужно. Вывожу отчёт Regshot`а и вижу две ветки реестра:



[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{AFD8CDC0-3A19-426C-AB21-E6D23EA7134B}User\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]



и



[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]



Сохраняю обе ветки реестра с параметрами SaveZoneInformation в reg файл.

Закомментирую строку с разделом [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{AFD8CDC0-3A19-426C-AB21-E6D23EA7134B}User\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]



Меняю в той же консоле GPO на значение параметра по умолчанию (не определено).

Импортирую полученный reg файл. Смотрю в консоль GPO и вижу, что значение не поменяно.

Скачиваю файл из интернета и смотрю его свойства, альтернативные потоки сохранены.

Раскомментирую строку с разделом [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{AFD8CDC0-3A19-426C-AB21-E6D23EA7134B}User\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments].

Импортирую reg файл. Смотрю в консоль GPO и вижу, что значение поменяно.

Скачиваю файл из интернета и смотрю его свойства, альтернативных потоков нет.



Учитывая, что часть раздела реестра, а именно AFD8CDC0-3A19-426C-AB21-E6D23EA7134B, является уникальной, но напрямую импортировать значение реестра в любую систему нельзя. Каждый раз высчитывать данное значение не вариант.



Можно конечно внести изменение в раздел реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments], но опять же это изменение сработает только после перезагрузки ОС и его не будет видно GPO локального ПК визуально (посредством консоли mmc), потому как в параметрах компьютера такого параметра нету, только в параметрах пользователя.
Аватара пользователя
Казбек

Re: PowerShell - Установить значение одного параметра GPO на локальном ПК

Сообщение Казбек »

Anton04,



Пробуйте
PolicyFileEditor 3.0.0




Пример использования:



Код:

Код: Выделить всё

$RegPath = 'Software\Policies\Microsoft\Windows\Control Panel\Desktop'
$RegName = 'ScreenSaverIsSecure'
$RegData = '1'
$RegType = 'String'
Set-PolicyFileEntry -Path $UserDir -Key $RegPath -ValueName $RegName -Data $RegData -Type $RegType

Более подробная инструкция:
How to manage Local Group Policy with Powershell
Ответить

Вернуться в «Скриптовые языки администрирования Windows»