Шукати:
Как на Windows 10 Pro использовать модули Active Directory

Просто, когда я решил дооформить заметку по резервному копированию групповых политик мне понадобилось на свою рабочую систему (в офисе) использовать PowerShell + командлеты взаимодействующие с Active Directory я столкнулся с тем, что не могу использовать модуль GroupPolicy.

На заметку: **Средства удаленного администрирования сервера для Windows 10 можно устанавливать ТОЛЬКО на компьютеры под управлением полнофункциональных выпусков ОС Windows 10 Профессиональная, Windows 10 Корпоративная или Windows 10 для образовательных учреждений.** Средства удаленного администрирования сервера нельзя установить на Windows RT, компьютеры с архитектурой Advanced RISC Machine (ARM) или другие устройства на базе однокристальной схемы.

123456789PS C:\Windows\system32> Import-Module GroupPolicy Import-Module : Указанный модуль “GroupPolicy” не был загружен, так как ни в одном из каталогов модулей не был обнаружен действительный файл модуля.                                                                                           строка:1 знак:1 + Import-Module GroupPolicy + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo          : ResourceUnavailable: (GroupPolicy:String) [Import-Module], FileNotFoundException              + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

В ходе анализа своих заметок прибегнул к заметке: «Как установить AdminPack на Windows 10»

Моя система:

123C:\Windows\system32>ver Microsoft Windows [Version 10.0.18363.592]

Скачиваю средства удаленного администрирования сервера для Windows 10 своей версии:

https://www.microsoft.com/ru-RU/download/details.aspx?id=45520

WindowsTH-RSAT_WS_1803-x64.msu

Обновление для ОС Windows (KB2693643)

Устанавливаю обновление KB2693643 на Windows 10 Pro

После чего модуль Group Policy успешно импортировался в консоль powershell:

123456789C:\Windows\system32>powershell Windows PowerShell (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. Попробуйте новую кроссплатформенную оболочку PowerShell (https://aka.ms/pscore6) PS C:\Windows\system32> import-module grouppolicy

без каких-либо ошибок и могу в своих скриптах использовать командлеты для работы с Active Directory.  И как мне пригодилась моя заметка, когда я решил использовать оснастки взаимодействия c Active Directory на одной из работ ранее.

На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.ru

Настроить GPO Backup через PowerShell

Задача: Настроить GPO Backup через PowerShell

Настроить резервное копирование всех настроенных групповых политик.

Мне нужна личная наработка как сделать бекап и конечно отработанные шаги по восстановлению групповых политик (GPO) на Windows Server 2012 R2 с помощью скриптов для PowerShell. А после данный бекап будет сохранен на моем личном хранилище «Наработки в OwnCloud + BitLocker на рабочем месте»

Ранее я уже делал данную задачу:

Бекап и восстановление GPO посредством консоли.

Как всегда, все прорабатываю на своем стенде под управлением Debian 10 + Proxmox 6

Исходные данные:

srv-dc1.polygon.com (10.90.90.3)

  • OS: Windows Server 2012 R2 Std

srv-gw.polygon.com (10.90.90.2)

  • OS: pfsense 2.4.4

На заметку: Все выполняемые действия ниже происходят на домен контроллере.

На заметку: Если GPO именуется, как "GPO: Windows10Test" то командлеты Powershell игнорируют ее резервное копирование, а потому у меня все GPO приведены к единому виду, как "GPO_Windows10Test"

Шаг №1: Т.к. дефолтные настройки PowerShell — это максимальная политика безопасности, то чтобы выполнять команды в PowerShell нужно разрешить выполнение скриптов

On srv-dc1:

Авторизуюсь под учетной записью (Login: ekzorchik Pass: 712mbddr@) она у меня на тестовом стенде является Domain Admins

Win + X – Command Prompt (Admin)

123C:\Windows\system32>powershell -command set-executionpolicy unrestrictedC:\Windows\system32>powershell -command get-executionpolicyUnrestricted

Где

  • Restricted (Запрещено, по умолчанию) Сценарии не запускаются.
  • Allsigned (Все подписанные) Запускаются только подписанные сценарии.
  • RemoteSigned (Удаленные подписанные) Разрешен запуск локальных сценариев, прочие сценарии должны быть подписаны.
  • Unrestricted (Без ограничений) Запускаются все сценарии.

Шаг №2: Устанавливаю в систему текстовый редактор Notepadd++

Создаю необходимые каталоги:

123C:\Windows\system32>if not exist c:\backup mkdir c:\backup C:\Windows\system32>if not exist c:\script mkdir c:\script

В последствии структура резервного копирования будет выглядеть так:

C:\Backup\<DC>\<date>\<gpo_name>\<guid>

Шаг №3: Прежде чем писать скрипт попробую через PowerShell командлеты создать GPO, сделать бекап, удалить, восстановить из бекапа – все это нужно дабы выявить полный формат в каком виде нужно хранить резервные копии. По крайней мере я так думаю.

Чтобы создать групповую политику через консоль PowerShell:

Win + X – Command Prompt (Admin)

123456789101112C:\Windows\system32>powershell -command “new-gpo -name “Windows10Test”DisplayName      : Windows10TestDomainName       : polygon.comOwner            : POLYGON\Domain AdminsId               : c0573a03-d317-4b46-8378-8b9f1c02ae5cGpoStatus        : AllSettingsEnabledDescription      :CreationTime     : 08.09.2020 9:23:43ModificationTime : 08.09.2020 9:23:44UserVersion      : AD Version: 0, SysVol Version: 0ComputerVersion  : AD Version: 0, SysVol Version: 0WmiFilter        :

Чтобы сделать бекап групповой политики через консоль PowerShell:

12345678C:\Windows\system32>powershell -command “backup-gpo -Name “Windows10Test” -Path “c:\Backup””DisplayName     : Windows10TestGpoId           : c0573a03-d317-4b46-8378-8b9f1c02ae5cId              : 54c9dce6-65e3-4f1e-88e6-26be8aee12e3BackupDirectory : c:\BackupCreationTime    : 08.09.2020 9:38:45DomainName      : polygon.comComment         :

Удаляю свою групповую политику:

1C:\Windows\system32>powershell -command “remove-gpo -Name “Windows10Test””

Вывожу все GPO которые есть в домене:

1234567891011121314151617181920212223C:\Windows\system32>powershell -command “get-gpo -all”DisplayName      : Default Domain PolicyDomainName       : polygon.comOwner            : POLYGON\Domain AdminsId               : 31b2f340-016d-11d2-945f-00c04fb984f9GpoStatus        : AllSettingsEnabledDescription      :CreationTime     : 13.05.2020 18:32:36ModificationTime : 03.09.2020 17:03:32UserVersion      : AD Version: 0, SysVol Version: 0ComputerVersion  : AD Version: 1, SysVol Version: 1WmiFilter        :DisplayName      : Default Domain Controllers PolicyDomainName       : polygon.comOwner            : POLYGON\Domain AdminsId               : 6ac1786c-016f-11d2-945f-00c04fb984f9GpoStatus        : AllSettingsEnabledDescription      :CreationTime     : 13.05.2020 18:32:36ModificationTime : 13.05.2020 18:32:36UserVersion      : AD Version: 0, SysVol Version: 0ComputerVersion  : AD Version: 1, SysVol Version: 1WmiFilter        :

Теперь инициирую восстановление GPO из бекапа:

123456789101112C:\Windows\system32>powershell -command “import-gpo -BackupGpoName Windows10Test -TargetName Windows10Test -path c:\backup -CreateIfNeeded”DisplayName      : Windows10TestDomainName       : polygon.comOwner            : POLYGON\Domain AdminsId               : 8535f6c2-8eab-4687-933e-9fb06d0d484fGpoStatus        : AllSettingsEnabledDescription      :CreationTime     : 08.09.2020 9:45:00ModificationTime : 08.09.2020 9:45:01UserVersion      : AD Version: 1, SysVol Version: 1ComputerVersion  : AD Version: 1, SysVol Version: 1WmiFilter    :

Итого я опробовал создание, резервное копирование, удаление и восстановление GPO через консоль PowerShell.

Шаг №4: Вот мой первый вариант скрипта C:\script\gpobackup.ps1 резервного копирования всех GPO домен контроллера:

1234567891011121314151617181920212223242526272829303132333435#Текущий домен$Domain = (Get-WmiObject Win32_ComputerSystem).Domain#Имя домен контроллера$Server = (Get-WmiObject Win32_ComputerSystem).Name#Текущая дата$CurrentDate = get-date -format dd.MM.yyyy#Каталог расположения бекапов$Letter_Drive = “C:”$BackupFolder = “Backup”$BackupPath = $Letter_Drive + “\” + $BackupFolder + “\” + $Server + “\” + $CurrentDate#Функция для создания структуры каталоговFunction CheckPath ($Path) { $Path_Exists = Test-Path -Path $Path If ($Path_Exists -eq $False) { New-Item $Path -Type directory }}#Создаем каталог для бекаповCheckPath $BackupPath | Out-NullWrite-Host “Backups created: ” -foregroundColor Green -nonewlineWrite-Host echo $BackupPath -foregroundColor White#Импортируем модуль групповой политикиImport-Module GroupPolicy#Получаем данные по всем имеющимся групповым политикам в переменную$GPOALL = Get-GPO -All -Domain $Domain -Server $Server#Циклом проходимся по каждой групповой политике и делаем ее бекаповForeach ($GPO in $GPOALL) { Write-Host “Backing up GPO named: ” -foregroundColor Green -nonewline #Выводим название политики и ее ID Write-Host $GPO.Displayname: $GPOID -foregroundColor White $BackupGPOPath = $BackupPath + “\” + $GPO.DisplayName #Создаем каталог для бекапов New-Item -Path $BackupGPOPath -Type directory | Out-Null $BackupInfo = Backup-GPO -Name $GPO.DisplayName -Domain $Domain -Path $BackupGPOPath -Server $Server}

Шаг №5: Запускаю созданный скрипт:

12345C:\Windows\system32>powershell -File c:\script\gpobackup.ps1Backups created: echo C:\Backups\SRV-DC1\08.09.2020Backing up GPO named: Default Domain Policy :Backing up GPO named: Default Domain Controllers Policy :Backing up GPO named: Windows10Test :

Шаг №6: Структура бекапов групповых политик:

1234567891011121314151617181920212223242526272829303132C:\Windows\system32>tree c:\BackupFolder PATH listing for volume WindowsVolume serial number is BCA3-4697C:\BACKUP└───SRV-DC1    └───08.09.2020        ├───Default Domain Controllers Policy        │   └───{9540E059-876B-4BE6-B92E-DFA141F2817B}        │       └───DomainSysvol        │           └───GPO        │               ├───Machine        │               │   └───microsoft        │               │       └───windows nt        │               │           └───SecEdit        │               └───User        ├───Default Domain Policy        │   └───{8C59A3E2-D4EB-4B97-BB77-3BA563F00A28}        │       └───DomainSysvol        │           └───GPO        │               ├───Machine        │               │   └───microsoft        │               │       └───windows nt        │               │           └───SecEdit        │               └───User        └───Windows10Test            └───{57E36931-3FED-4EB7-A902-3FFD8566ABC9}                └───DomainSysvol                    └───GPO                        ├───Machine                        └───User C:\Windows\system32>
Структуру каталога с файлами резервной копии GPO

Шаг №7: Удаляю GPO с именем: Windows10Test

1C:\Windows\system32>powershell -command “remove-gpo -Name “Windows10Test””

Шаг №8: Восстанавливаю GPO с именем: Windows10Test из каталога где у меня бекапы которые сделаны посредством моего скрипта:

123456789101112C:\Windows\system32>powershell -command “import-gpo -BackupGpoName Windows10Test -TargetName Windows10Test -path “c:\Backup\SRV-DC1\08.09.2020\Windows10Test” -CreateIfNeeded”DisplayName      : Windows10TestDomainName       : polygon.comOwner            : POLYGON\Domain AdminsId               : ff639e54-99b8-4b36-b699-d764abc3ee38GpoStatus        : AllSettingsEnabledDescription      :CreationTime     : 08.09.2020 10:09:01ModificationTime : 08.09.2020 10:09:02UserVersion      : AD Version: 1, SysVol Version: 1ComputerVersion  : AD Version: 1, SysVol Version: 1WmiFilter        :

На заметку: Если в папки с именованием GPO несколько бекапов, то восстанавливается самый последний.

Итого я сделал себе скрипт и отработал шаги посредством которых выполняю поставленную себе задачу, как будет время в планах доработать скрипт:

  • Настроить архивирование папки текущего дня
  • Настроить составление html отчета всех GPO
  • Настроить уведомление на почту, когда скрипт успешно выполнил резервное копирование.

Также как это собственная наработка сохранил ее к себе в собственное хранилище наработок под именем Mercurial on Ubuntu 18.04 Server которое существует как отдельно выделенная VM на моем микросервере (HP MicroServer Gen8 (4CPUs x 2,494Ghz, Intel Xeon CPU E3-1265L V2 2.50GHz, RAM 12Gb)).

А пока на этом собственно и всё, с уважением автор блога Олло Александр aka ekzorchik.

Если QIP не сохраняет историю переписки

Порой случаются заявки вида: «Прошу в корпоративном мессенджере настроить сохранение истории переписки, а то не удобно и теряется важная информация». Вот только был выявлен косяк при работе с клиентом QIP, как на Windows 10 Pro, Windows 8.1. В моем случае QIP не сохраняет историю Jabber аккаунта при переписке с сотрудниками.

Дело в том, что у меня используется перемещаемые профили и перенаправление папок.

В настройках QIP обозначены каталоги:

  • Путь хранения истории: \\polygon.local\users\Forwarded folders\aollo\Application Data\QIP\Profiles\qip\History\
  • Путь хранения файлов: \\polygon.local\users\Forwarded folders\aollo\Application Data\QIP\Profiles\qip\RcvdFiles\
Настройка путей: хранение истории и хранения файлов

Но их нет. Нет каталогов History и RcvdFiles. По умолчанию их просто на просто нет физически после установки клиента qip на ПК.

Решение: Нужно создать эти два каталога и дать на них права на запись доменной учетной записи

Создаю каталоги History & RcvdFiles и обязательно проставляю права на них для учетной записи пользователя qip

Файл внутри _qip_svc.qhf можно не создавать, он создастся сам. Кстати этот файл показывает каков размер всей текущей переписки и если он приближается к 300, как указано в настройках по дефолту то после сохранение истории переписки станет не возможным.

После перезапускаем QIP и все теперь история сохраняется с каждым с кем ведет переписку аккаунт.

Итого вот такой вот небольшой нюанс. Я себе поставил задачу дабы избавиться в дальнейшем от заявок, отнимающих время, пройтись по всем сотрудникам и до создать необходимые каталоги и дать права.

В процессе было замечено, что, если даже папки History & RcvdFiles есть, история не пишется, проанализировав увеличил квоту на сохраняемую переписку, опять не пишется, точнее не сохраняется, даже если клиент qip перезапускался. Всему виной файл _qip_svc.qhf нужно закрыть qip, переименовать каталог History в History_old, создать новый каталог history, скопировать из старого history_old все файлы переписки за исключение _qip_svc.qhf и после история сохраняется и создается с каждым новым переписчиком Jabber_aollo@srv-jabber.qhf.

На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.

Централизованное резервное копирования Mikrotik через PowerShell

В виду того, что на нынешнем месте работы ресурсов для теста и введения боевого сервера попросту нет, а те что использовались под VM с осью Ubuntu 18.04.5 Server где крутится скрипт по выполнению резервного копирования конфигурацию маршрутизаторов Mikrotik через bash нужны другому проекту. А значит настает пора, да и есть свободное время дабы перенести скрипт на PowerShell и выполнять его с любой Windows системы.

Т.к. у меня дома несколько Mikrotik’ов то скрипт успешно было оттестирован на моих:

  • Ekzhome: Mikrotik RB2011UiAS-2HnD (mipsbe) v6.47
  • Ekzhome1: Mikrotik hAP ac^2 (arm) v6.47
  • Ekzhome2: Mikrotik CRS326-24G-2S+ (arm) v6.47.3

На всех моих Mikrotik используется одна учетная запись

На заметку: Скрипт запускаю в консоли PowerShell которая запущена через "Run as administrator"

Шаг №1: На системе Windows Server 2012 R2 Std устанавливаю редактор notepad++ и создаю в корне диска C: каталога script где размещаю скрипт на PowerShell:

Шаг №2: Скрипт для единичного бекапирования Mikrotikbmikrotikone

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576Set-Executionpolicy unrestricted#Check if out module loadedif (Get-Module -ListAvailable -Name Posh-SSH) { <# do nothing #> }else { Install-Module Posh-SSH} #Каталог расположения бекапов$Letter_Drive = “C:”$BackupFolder = “backup”$BackupPath = $Letter_Drive + “\” + $BackupFolder  #Функция для создания структуры каталоговFunction CheckPath ($Path) { $Path_Exists = Test-Path -Path $Path If ($Path_Exists -eq $False) { New-Item $Path -Type directory }} #Создаем каталог для бекаповCheckPath $BackupPath | Out-Null #Передайте нежелательные результаты команд / вызовов функций#в вызываемой функции через “… | Out-Null”, #а затем просто верните нужную вещь. write-host $BackupPath #Импортирую установленный модульImport-Module Posh-SSH $username = “username”$password = “password”$hostname = “ipaddress”$Port = “22”$fnamebackup = “backup_$(Get-Date -Format HH_mm_dd_MM_yyyy)”$fnamersc = “backup_$(Get-Date -Format HH_mm_dd_MM_yyyy)” $secpassword = ConvertTo-SecureString -String $password -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ($username, $secpassword) $ssh = New-SSHSession $hostname -AcceptKey -Credential $Cred -ErrorAction Stop -Port 22$outbackup = (Invoke-SSHCommand $ssh -Command “/system backup save name=$fnamebackup dont-encrypt=yes” -EnsureConnection).Output$outrsc = (Invoke-SSHCommand $ssh -Command “export file=$fnamersc” -EnsureConnection).Output #set name mikrotik$mikrotikname = (Invoke-SSHCommand $ssh -Command “/system identity print” -EnsureConnection).Output #Форматируем значение переменной $mikrotikname$fa = $mikrotikname | out-file $BackupPath\name.txt$fb = Get-Content $BackupPath\name.txt -first 1$fc = $fb.Split(“: “)[-1]$fc #Создаем внутри каталога C:\backup каталог с именем Mikrotik,#ключ Force обязателен, т.к. каталог уже есть и каждый последующий день будет тут же$MName = new-item -Path $BackupPath\$fc -Type Directory -Force$MName #Делаем бекапы backup и бекап конфигурации rsc и через ftp забираем их на каталог c:\backup\<mikrotik_name>#А после удаляем с Mikrotikif($outbackup.Trim() -eq “Configuration backup saved”){ $sftp = New-SFTPSession $hostname -AcceptKey -Credential $Cred Get-SFTPFile -SFTPSession $sftp -RemoteFile “/$fnamebackup.backup” -LocalPath “$MName\” -Overwrite Get-SFTPFile -SFTPSession $sftp -RemoteFile “/$fnamersc.rsc” -LocalPath “$MName\” -Overwrite Start-Sleep 2 Remove-SFTPItem -SFTPSession $sftp -Path “/$fnamebackup.backup” -Force Remove-SFTPItem -SFTPSession $sftp -Path “/$fnamersc.rsc” -Force Remove-SFTPSession $sftp }Remove-SSHSession $ssh

Шаг №3: Скрипт для массового бекапирования Mikrotik‘ов: bmikrotikmore

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687Set-Executionpolicy unrestricted #Check if out module loadedif (Get-Module -ListAvailable -Name Posh-SSH) { <# do nothing #> }else { Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Confirm Install-Module Posh-SSH} #Текущая дата$CurrentDate = get-date -format dd.MM.yyyy #Каталог расположения бекапов$Letter_Drive = “C:”$BackupFolder = “backup”$BackupPath = $Letter_Drive + “\” + $BackupFolder  #Функция для создания структуры каталоговFunction CheckPath ($Path) { $Path_Exists = Test-Path -Path $Path If ($Path_Exists -eq $False) { New-Item $Path -Type directory }} #Создаем каталог для бекаповCheckPath $BackupPath | Out-Null #Передайте нежелательные результаты команд / вызовов функций#в вызываемой функции через “… | Out-Null”, #а затем просто верните нужную вещь. write-host $BackupPath #Импортирую установленный модульImport-Module Posh-SSH $username = “username”$password = “password”$Port = “22”#$fnamebackup = “backup_$(Get-Date -Format ddMMyyyy)”#$fnamersc = “backup_$(Get-Date -Format ddMMyyyy)”$fnamebackup = “backup_$(Get-Date -Format HH_mm_dd_MM_yyyy)”$fnamersc = “backup_$(Get-Date -Format HH_mm_dd_MM_yyyy)”  function bkprtr {param($ipaddr)$secpassword = ConvertTo-SecureString -String $password -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ($username, $secpassword) $ssh = New-SSHSession $ipaddr -AcceptKey -Credential $Cred -ErrorAction Stop -Port 22$outbackup = (Invoke-SSHCommand $ssh -Command “/system backup save name=$fnamebackup dont-encrypt=yes” -EnsureConnection).Output$outrsc = (Invoke-SSHCommand $ssh -Command “export file=$fnamersc” -EnsureConnection).Output #set name mikrotik$mikrotikname = (Invoke-SSHCommand $ssh -Command “/system identity print” -EnsureConnection).Output #Форматируем значение переменной $mikrotikname$fa = $mikrotikname | out-file $BackupPath\name.txt$fb = Get-Content $BackupPath\name.txt -first 1$fc = $fb.Split(“: “)[-1]$fc #Создаем внутри каталога C:\backup каталог с именем Mikrotik,#ключ Force обязателен, т.к. каталог уже есть и каждый последующий день будет тут же$MName = new-item -Path $BackupPath\$fc -Type Directory -Force$MName #Делаем бекапы backup и бекап конфигурации rsc и через ftp забираем их на каталог c:\backup\<mikrotik_name>#А после удаляем с Mikrotikif($outbackup.Trim() -eq “Configuration backup saved”){ $sftp = New-SFTPSession $ipaddr -AcceptKey -Credential $Cred Get-SFTPFile -SFTPSession $sftp -RemoteFile “/$fnamebackup.backup” -LocalPath “$MName\” -Overwrite Get-SFTPFile -SFTPSession $sftp -RemoteFile “/$fnamersc.rsc” -LocalPath “$MName\” -Overwrite Start-Sleep 2 Remove-SFTPItem -SFTPSession $sftp -Path “/$fnamebackup.backup” -Force Remove-SFTPItem -SFTPSession $sftp -Path “/$fnamersc.rsc” -Force Remove-SFTPSession $sftp }Remove-SSHSession $ssh}foreach ($ip in gc C:\script\list.txt) {bkprtr($ip)}

А в файл list.txt директории script вносим IP адрес всех Mikrotik'ов для которых хотим сделать резервную копию.

Результат сделанный бекапов моих микротиков:

Результат работы скрипта
Сформированные каталоги под каждый Mikrotik

Шаг №4: Итого данный скрипт был перенесен на рабочее окружение где я работаю, и вся сеть у меня строится на базе маршрутизаторов Mikrotik и он (скрипт) успешно введен в эксплуатацию. К тому же все бекапы у меня хранятся каталоге которые обязательно синхронизируется с персональным облаком на базе Ubuntu 18.04 Server + OwnCloud 10. Об этом вы можете почитать в заметке «Наработки в OwnCloud + BitLocker на рабочем месте»

На заметку: Первый раз запускаю скрипт из «Шаг №2» придется согласиться с

Для продолжения требуется поставщик NuGet

Для взаимодействия с репозиториями на основе NuGet модулю PowerShellGet требуется версия поставщика NuGet «2.8.5.201»

или более новая. Поставщик NuGet должен быть доступен в «C:\Program Files\PackageManagement\ProviderAssemblies» или

«C:\Users\aolloadm\AppData\Local\PackageManagement\ProviderAssemblies». Поставщик NuGet можно также установить,

выполнив команду «Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force». Вы хотите, чтобы модуль

PowerShellGet установил и импортировал поставщик NuGet прямо сейчас?

[Y] Да — Y  [N] Нет — N  [S] Приостановить — S  [?] Справка (значением по умолчанию является «Y»): Y

Ненадежный репозиторий

Идет установка модулей из ненадежного репозитория. Если вы доверяете этому репозиторию, измените его значение

InstallationPolicy, запустив командлет Set-PSRepository. Вы действительно хотите установить модули из «PSGallery»?

[Y] Да — Y  [A] Да для всех — A  [N] Нет — N  [L] Нет для всех — L  [S] Приостановить — S  [?] Справка

(значением по умолчанию является «N»):Y

Ну а далее скрипт успешно отработает и будем мне счастье.

На этом моя задача завершена, у меня есть самолично написанная наработка по централизованному резервному копированию маршрутизаторов Mikrotik. С уважением автор блога Олло Александр aka ekzorchik.

Настройка взаимодействия через Computer Manager к PC

Помнится, мне я раньше активно использовал на Windows Server 2008 R2 и Windows 7 удаленное взаимодействие с системами через оснастку Computer Management, дабы если нужно запустить службу, добавить/удалить пользователя, добавить/удалить группу, посмотреть логи. Но вот сейчас в конторе где я работаю используется Windows Server 2012 R2 Std (Server 2016 Std) и рабочие станции под управлением Windows 8.1 & Windows 10. Поэтому в качестве еще одной наработки я решил задокумментировать данный процесс настройки и заодно посмотреть, а будет ли работать и какие подводные камни компания Microsoft внесла в этот раз. А то как с изменением пароля через GPO – функционал деактивирован и вместо этого нужно использовать LAPS. Я даже в одной организации для Москвы и Санкт-Петербурга это внедрил:

То конечно был отличный опыт и время препровождения по поставленной задаче.

Ладно, сейчас задача в другом. Как всегда, мне на помощь приходит мой тестовый полигон базирующейся на связке Debian 10 + Proxmox 6 и это супер решение по сравнению с Virtualbox или Vmware Workstations.

Итак, для задачи понадобится

  • Server 2012 R2 Std (с развернутыми ролями AD (домен polygon.com), DNS, DHCP)
  • Windows 10 Pro (в качестве рабочей станции домена polygon.com)

Шаг №1: Подключаюсь через Web к своему стенду виртуализации Proxmox, авторизуюсь, создаю VM, затем перехожу в консоль VM где Windows Server 2012 R2 Std, авторизуюсь под учетной записью вхожей в группу Domain Admins.

Шаг №2: После авторизации в системе создаю GPO и нацеливаю ее на рабочую станцию

  • Name: GPO_Computer_Management

Вкладка Scope

  • Location: polygon.com
  • Security Filtering: W10X64P1

Вкладка Delegation

Нажимаю Add – и добавляю группу “Authenticated Users” с правами на чтение. Это обязательно, иначе рабочая станция не увидит политику, а значит не применит.

Шаг №3: Открываю на редактирование политику GPO_Computer_Management

Шаг №4: Содержание GPO

Computer Configuration – Policies – Windows Settings – Security Settings - System Services:

  • Service: Remote Registry
  • Define this policy settings: отмечаю галочкой
  • Select service startup mode: Automatic

Computer Configuration – Policies – Windows Settings – Security Settings – Windows Firewall with Advanced Security – Windows Firewall with Advanced Security – и через правый клик на Inbound Rules выбираю New Rule…

Rule Type: Predefined – и выбираю группу: (устанавливаю действие Allow the connection)

(внутри отмечаю галочкой правило(а))

COM+ Network Access 

  • COM+ Network Access (DCOM-In)

COM+ Remote Administration

  • COM+ Remote Administration (DCOM-In)

File and Printer Sharing

  • File and Printer Sharing (Spooler Service – RCP-EPMAP)
  • File and Printer Sharing (Spooler Service – RPC)

Remote Event Log Management

  • Remote Event Log Management (RPC-EPMAP)
  • Remote Event Log Management (NP-In)
  • Remote Event Log Management (RPC)

Remote Event Monitor

  • Remote Event Monitor (RPC-EPMAP)
  • Remote Event Monitor (RPC)

Remote Scheduled Tasks Management

  • Remote Scheduled Tasks Management (RPC-EPMAP)
  • Remote Scheduled Tasks Management (RPC)

Remote Shutdown

  • Inbound Rule for Remote Shutdown (RPC-EP-In)
  • Inbound Rule for Remote Shutdown (TCP-In)

Remote Volume Management

  • Remote Volume Management (RPC-EPMAP)
  • Remote Volume Management – Virtual Disk Service Loader (RPC)
  • Remote Volume Management – Virtual Disk Service (RPC)

Windows Management Instrumentation (WMI)

  • Windows Management Instrumentation (ASync-In)
  • Windows Management Instrumentation (WMI-In)
  • Windows Management Instrumentation (DCOM-In)

Computer Configuration – Policies – Administrative Templates – Network – Network Connections – Windows Firewall – Domain Profile

  • Windows Firewall: Allow inbound remote administration exception: Enabled
  • Allow unsolicited incoming messages from these IP address: *

Computer Configuration – Policies – Administrative Templates – System – Device Installation

  • Allow remote access to the Plug and Play interface: Enabled

Шаг №5: На Windows 10 Pro авторизуюсь, к примеру, под пользователем Login: alektest, запускаю консоль командной строки и набираю команду обновления групповых политики с последующей перезагрузкой системы:

Win + R -> cmd.exe

123gpupdate /force shutdown /r /t 3

Шаг №6: Переключаюсь снова на систему Windows Server 2012 R2 Std, запускаю Computer Management

Win + X – Control Panel – Administrative Tools – Computer Management – Action – Connect to another computer… — и в окне “Select Computer” выбираю Another computer – Browse, указываю компьютер к которому хочу подключиться и нажимаю Check Names. Должно получиться вот так, как на представленном ниже скриншоте, а после нажимаю ОК

Инициирую подключение к Windows 10 через Computer Manager

А после еще раз ОК

Подключаюсь

Инициируется подключение:

Активируется подключение

А вот когда я подключался просто надеясь, что я как вхож в группу Domain Admins смогу подключиться и взаимодействовать получал вот такую вот отбивку:

Computer W10X64P1.POLYGON.COM cannot be managed. Verify that the network path is correct, the computer on the network, and that the appropriate Windows Firewall rules are enabled on the target computer.

To enable the appropriate Windows Firewall rules on the remote computer, open the Windows Firewall with Advanced Security snap-in and enable the following incoming Rules:

  • COM+ Network Access (DCOM-In)
  • All Rules in the Remote Event Log Management Group
Подключение завершается ошибкой если не сделаны преготавления по части Firewall Rules

И я успешно подключен, могу смотреть логи системы, общие файлы, пользователей и группы, запускать и останавливать сервисы, к примеру, остановил службу “Windows Audio”

Подключение успешно, я могу останавливать службы

Пробую посмотреть какой оборудование у удаленной системы к которой я подключился. Для этого перехожу на Device Manager, но увы получаю отказ

А вот взаимодействовать с устройствами Windows 10 увы не могу

Последующий анализ что еще не хватает вывел меня на статью "https://docs.microsoft.com/en-us/troubleshoot/windows-server/system-management-components/error-connect-device-manager-remotely" где официально уже нельзя таким образом подключиться для Windows Server 2012 R2 и Windows 10 всех редакций.

Причина: This problem occurs because Remote access to the Plug and Play (PNP) RPC interface has been removed in Windows 8 and Windows Server 2012.

По сути получается лавочку прикрыли. Но даже тот функционал что есть этого хватит каждому системному администратору за глаза.

Шаг №7: Анализ, что можно сделать вывел меня на утилиту DeviceTool (http://www.device-tool.com/download/en-en/DeviceTool.zip)

Функционал утилиты:

  • Отображение устройств и их свойств
  • Включение и выключение локальных устройств
  • Включение и выключение устройств на удаленных компьютерах
  • Не требует инсталляции в систему
  • Может запускаться на Windows 7/8/10 и Windows Server 2008/2012/2016/2019
  • Бесплатна

Распаковываю ее, и чтобы можно было удаленно выключать/включать устройства в каталог куда утилита распакована нужно положить утилиту psexec.exe

В каталоге с утилитой DeviceTool должна быть утилита psexec

После чего через правый клик на DeviceTool выбираю меню “Run as administrator” – Yes – Action – Connect to another computer…, указываю явно именование компьютера, т.е. W10X64P1

Инициирую подключение к Windows 10 через DeviceTool

И нажимаю OK

Подключение успешно.

К примеру, выключаю устройство "Microsoft Basic Display Adapter"

Выключаю устройство на Windows 10 через Device Tool

И устройство успешно отключается:

И устройство успешно отключается

Ну что ж, значит буду использовать штатный функционал для одно и для взаимодействия с устройствами контролируемых систем утилитой DeviceTool.

На заметку: Настройки GPO необходимы, т.к. я на работе у рабочих станций не выключаю штатный брандмауэр

Заметка полностью работоспособна, на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.

Подготовить Radmin Server к установке через GPO

Такая задача возникла не на пустом месте, обычно я использовал TightVNC.

который я посредством GPO развертывал на рабочих ПК и серверах в компания где я имел честь обслуживать вверенную инфраструктуру. А сейчас здесь используется RAdmin, но конечно же он не лицензионный. В принципе какая разница. Сейчас я от и до пройдусь по шагам как создать из дефолтной msi свою собственную msi установщика (Серверная часть). Почему я такую банальную вещь описываю, все просто – это наработка на будущее, личная наработка.

Все как всегда будет обкатываться на моем тестовом гипервизоре Debian 10 + Proxmox 6. Создаю VM базирующейся на Windows Server 2012 R2 Std которая выполнена у меня, как.

Все дальнейшие действия произвожу на Windows Server 2012 R2 Std (srv-dc01)

Шаг №1: В домене создаю группу GRP_IT для того чтобы к системе на которой установлен Radmin Server могли подключиться только те кто состоит в этой группе.

Создаю в домене группу с полным доступ к ПК через Radmin

и группа GRP_IT_Viewer это те, кто, может только подключившись смотреть за действиями, но не вмешиваться.

Шаг №2: Устанавливаю пакет rdpltool12.msi (из Radmin Deployment Tool 1.2) в систему.

Шаг №3: На эту же систему скачиваю Radmin Server в виде msi файла на необходимом мне языке: Radmin_Server_3.5.2.1_RU.msi

Шаг №4: Запускаю Radmin MSI Configurator (Win + нажимаю стрелку вниз дабы отобразить все установленные приложения – нахожу “Radmin MSI Configurator” и кликаю по нему левой кнопкой мыши

Нажимаю Next

указываю путь до msi файла: C:\Soft\Radmin_Server_3.5.2.1_RU.msi

Открываю MSI файл Radmin Server 3.5.2

Нажимаю Next

После нажимаю Settings…

После нажимаю Settings…

Здесь предопределяю настройки серверной части

General

  • Use default port: 4899
  • Tray icon: Show in system tray
  • Logging: All errors
  • Use Event Log: отмечаю галочкой

Miscellaneous

  • Load Mirror Driver on startup: отмечаю галочкой

Language

  • Select interface language: English

все остальное по умолчанию

и нажимаю OK окна Radmin Server Options

Затем в окне Radmin MSI Configuration 1.2 нажимаю Next

После нажимаю Security…

После нажимаю Security…

Set user/password verification mode: выбираю Windows NT security затем нажимаю Permissions, здесь добавляю группу члены которой будут взаимодействовать удаленно у кого стоит серверная часть:

  • GRP_IT (POLYGON\GRP_IT): Full access
  • GRP_IT_Viewer (POLYGON\GRP_IT_Viewer): Remote Screen View
Предопределяю доменным группам права на Radmin Server

после нажимаю OK окна Radmin Server Security Mode

и нажимаю Next окна Radmin MSI Configurator v1.2

После сохраняю полученный msi файл, к примеру, в этот же каталог: c:\soft\radmin_3521.msi

Сохраняю измененный msi инсталлятор

но после по идее мастер Radmin MSI Configurator v1.2 должен был закрыться, но нет он снова на шаге где последующий шаг — это сохранение полученного msi файла. Ну да ладно, закрываю мастер «Крестиком»

После перемещаю полученный msi файл: radmin_3521.msi в специально созданную расшаренную папку где у меня все msi файлы на установку: \\srv-dc1\PO

12345678net share PO=C:\PO /GRANT:”Authenticated Users”,READ icacls c:\PO /inheritance:dicacls c:\PO /remove “Users” /Ticacls c:\PO /grant “CREATOR OWNER”:(OI)(CI)(IO)(F)icacls c:\PO /grant “NT AUTHORITY\Authenticated Users”:(OI)(CI)(RX)icacls c:\PO /grant “NT AUTHORITY\SYSTEM”:(OI)(CI)(F)icacls c:\PO /grant “POLYGON\ekzorchik”:(OI)(CI)(F)icacls c:\PO /grant “BUILTIN\Administrators”:(OI)(CI)(F)

Вот такие права на каталог PO

1234567C:\Windows\system32>icacls.exe c:\POc:\PO CREATOR OWNER:(OI)(CI)(IO)(F)NT AUTHORITY\Authenticated Users:(OI)(CI)(RX)NT AUTHORITY\SYSTEM:(OI)(CI)(F)POLYGON\ekzorchik:(OI)(CI)(F)BUILTIN\Administrators:(OI)(CI)(F)Successfully processed 1 files; Failed processing 0 files

Шаг №5: Измененный MSI—файл (radmin_3521.msi) может быть установлен вручную, с использованием специальной утилиты Radmin Deployment Tool, с помощью групповых политик, утилит для установки MSI-файлов или предоставлен сотрудникам для самостоятельной установки.

Шаг №6: Я буду распространять данный msi файл через GPO

Создаю WMI Filters

Win + X – Control Panel – Administrative Tools – Group Policy Management – Group Policy Management – Forest: polygon.com – Domains – polygon.com – и через правый клик на WMI Filters выбираю New…

  • Name: Client
  • Queries: Add
  • Namespace: root\CIMv2
  • Query: SELECT * FROM Win32_OperatingSystem WHERE ProductType = "1"

И нажимаю Save

На заметку: А можно обойтись и без WMI фильтров, просто создать группу, к примеру GRP_Office_Computers, добавлять туда те компьютеры на которых хотим видеть установленную серверную часть Radmin. И изменить ниже следующую политику что:

  • Location: polygon.com
  • Security Filterning: GRP_Office_Computers

Вкладка Delegation – Add

  • Authenticated Users: права Read
  • WMI Filtering: оставляем по дефолту <none>

Шаг №7: Создаю GPO с именем: GPO_RadminServer

Win + X – Control Panel – Administrative Tools – Group Policy Management – Group Policy Management – Forest: polygon.com – Domains – и через правый клик на polygon.com выбираю "Create a GPO in this domain, and Link it here…"

Нацеливаю ее на весь домен

  • Links (Location): polygon.com
  • Security Filtering (Name): Authenticated Users
  • WMI Filtering: Client

Открываю ее на редактирование и указываю что ее задача — это производить установку программы msi:

GPO_RadminServer – Computer Configuration – Policies – Software Settings – Software installation – New - Package

Создаю GPO на установку Radmin Server на ПК пользователей
  • Select deployment method: Assigned

Затем открываю свойства добавленного пакета на инсталляцию через GPO и во вкладке Deployment отмечаю галочкой "Uninstall this application when it falls out of the scope of management"

На заметку: Закачал к себе в OwnCloud полученный msi файл

Шаг №8: В каталоге \\srv-dc1\PO нужно также разместить CPro+Radmin файл активации:

123456789101112131415161718192021222324252627Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\Fam64Helper] “FileName”=”Fam64Helper.exe” [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\FamItrf2] “FileName”=”FamItrf2.exe” [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\FamItrfc] “FileName”=”FamItrfc.exe” [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\rserver3] “FileName”=”rserver3.exe” [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\rsetup64] “FileName”=”rsetup64.exe” [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude\rsl] “FileName”=”rsl.exe”

Этот файл если потребуется ручная активация на рабочих местах.

Т.к. я буду использовать Radmin не только на рабочих станциях, но и на серверах, то импортирую данный reg файл в систему (да прям на домен контроллер, позже удалю этот импортированный раздел):

Win + X – Command Prompt Admin –

123C:\Windows\system32>reg import c:\PO\CProExclude.reg The operation completed successfully.

Шаг №9: Теперь перехожу к созданию данных ключей через GPO

Computer Configuration – Preferences – Windows Settings – Registry – Registry Wizard и отмечаю разделы реестра и параметры со значениями (это Важно) импортированные на текущую систему srv-dc1

Затем добавляю/изменяю еще один ключ в реестра:

Computer Configuration – Preferences – Windows Settings – Registry – New – Registry Item –

  • Action: Update
  • Hive: HKEY_LOCAL_MACHINE
  • Key Path: SYSTEM\CurrentControlSet\Control\Windows
  • Value Name: NoInteractiveServices
  • Value type: REG_DWORD
  • Value data: 00000000
  • Base: Hexadecimal

Шаг №10: Далее нужно выставить загрузку системы через 1 минуту дабы скрипт/политика (делаю это на будущее) успел отработать это все делается в рамках создаваемой в этой заметке:

Computer Configuration – Policies – Administrative Templates – System – Group Policy –

  • Configure Logon Script Delay: Enabled
  • Options: minute: 1

Computer Configuration – Policies – Administrative Templates – System – Logon

  • Always wait for the network at computer startup and logon: Enabled

Шаг №11: Проверяю применение GPO к рабочей станции на оси Windows 10 Pro: W10X64P1

Win + R -> cmd.exe

1C:\Users\alektest> gpupdate /force

На заметку: Брандмауер на Windows 10 Pro деактивирован

Шаг №12: Инициирую подключение через Radmin Viewer к ПК с установленным Radmin Server

On srv-dc1 – запускаю Radmin Viewer – Соединение – Соединиться с… —

  • Режим соединения: Управление
  • IP адрес или DNS имя: W10X64P1
  • Порт: 4899

И нажимаю ОК, после чего система безопасности запрашивает как будем подключаться, точнее под кем

  • Имя пользователя: ekzorchik
  • Пароль: 712mbddr@
  • Домен: polygon.com
  • Имя хоста: W10X64P1

Сохранить имя пользователя по умолчанию: отмечаю галочкой

И нажимаю ОК

На заметку:

Login = ekzorchik – это я Domain Admins

И вот я успешно подключен

И вот я успешно подключился через Radmin Viewer к Radmin Server

Итого я получил задокумментированную заметку по установке Radmin Server на рабочие станции и если хочется, то и любые Windows системы. Как будут дополнительные нюансы я дополню данную заметку. Пока на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.

Не могу в DPM добавить новую почтовую базу

В связи c увеличением штата сотрудников, я на своем NAS сервере создал еще один LUN (Как создать новый LUN в ReadyNAS 2120) и через iscsi подключил его к серверу где у меня развернуты почтовые базы для моего почтового сервера на базе Exchange 2010 (Server 2008 R2 Ent + Exchange 2010 14.03.0248.002). На данном диске будут располагаться база IT отдела содержащая почтовый ящики системных администраторов, программистов 1C, Web-разработчиков и системные почтовые ящики для различных нужд. И конечно же эту почтовую базу нужно бекапировать, а бекапировать я буду через сервис DPM который у меня есть и обслуживающий:

  • File Server
  • Exchange Database

Дабы сервис DPM был развернут и введен в эксплуатацию нужно проделать следующие шаги:

При модифицировании группы Mailbox с целью добавления еще одной почтовой базы я получил ошибку

Details: DPM cannot access the path E:\ because part of the path has been deleted or renamed (ID: 36)

Recommended action: Check the path and enter it again

DPM не видит новый диск на сервере

На сервере где у меня расположены почтовые базы я запустил консоль командной строки с правами Администратора и передернул сервис агента:

123456C:\Windows\system32>net stop DPMRA && net start DPMRAThe DPMRA service is stopping..The DPMRA service was stopped successfully.The DPMRA service is starting.The DPMRA service was started successfully.C:\Windows\system32>

Затем заново инициирую процедуру изменения группы Mailbox, а нет, я пока сделаю по-другому и добавлю новую группу защиты:

On srv-backup01

Start – All Programs – Microsoft System Center 2012 R2 – Data Protection Manager – Microsoft System Center 2012 R2 Data (у меня Version: 4.2.1603.0) – Protection – New –

  • Этап Welcome: нажимаю Next
  • Этап Select protection group type: Servers и нажимаю Next
  • Этап Select group members: выбираю хост где у меня почтовый базы, это srv-mail02-mb и выделив его нажимаю Refresh (элемента меню Update data sources)
Заставляю агент DPM обновить информацию о хосте

После чего перехожу в Exchange 2010 Databases и вижу свою новую почтовую базу, отмечаю ее галочкой и нажимаю Next

После чего перехожу в Exchange 2010 Databases и вижу свою новую почтовую базу, отмечаю ее галочкой
  • Этап Select data protection method:

Protection group name: Именую группу бекапирования, как Mailbox2

Select your protection method:

I want short-term protection using: Disk

И нажимаю Next

  • Этап Specify exchange protection options

Run Eseutil to check data integrity: отмечаю галочкой

For Exchange Server 2010 or later: Run for both database and log files (maybe slow if databases are large)

И нажимаю Next

  • Этап Specify Exchange DAG protection: оставляю как есть

И нажимаю Next

Select short-term goals

Retention range: 5 days

Synchronization frequency: Every 24 hour(s)

Express Full Backup: Modify

Available times: 23:00 – Add (Select times)

Days of the week: Monday, Tuesday, Wednesday, Thursday, Friday

И нажима OK окна Optimize Performance, Next окна Create New Protection Group

  • Этап Review disk allocation: нажимаю Next
  • Этап Choose replica creation method: Automatically over the network и нажимаю Next
  • Этап Choose consistency check options: Run a consistency check if a replica becomes inconsistent и нажимаю Next
  • Этап Summary: нажимаю Create Group

Ожидаю

Создаю новую группу бекапирования почтовой базы

Спустя n’ое количества времени группа Mailbox2 создана и от реплицирована.

Смотрю на всех All Protection Groups вижу, что резервное копирование почтовой базы MailboxDB15 успешно выполнено и поставлено на указанные выше параметры резервирования, как и другие почтовый базы у меня.

Группа защиты почтовой базы создана и данные забекапированы

Тем самым я узнал данной заметкой, что если просто добавил/ввел в эксплуатацию новую почтовую базу, то чтобы агент DPM увидел ее нужно выполнить всего лишь одно нажатие при изменении – это Refresh, а далее отметить базу либо внести в существующую группу, либо создать новую группу резервного копирования.

Итого заметка работоспособна, на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.

Как удалить Unprotected computer с сервера DPM

Сегодня речь пойдет о задаче, с которой я столкнулся, когда тестировал/прорабатывал задачу с использованием DPM на Server 2012 R2. Это как через DPM сохранять резервную копию клиентской системы. Об этом чуть позже. Сейчас у меня в оснастке System Center 2012 R2 DPM Administrator Console значит есть клиентская система W10X64P1 и на ней был когда-то агент, но он не доступен. Это может быть если клиентская система была переустановлена или упала и т.д. Вот эту запись из консоли мне нужно убрать.

Запись системы с агентом которого нет

Выбор через правый клик на ней меню Uninstall – Uninstall Agents – указанием связи логин&пасс&домен

(Это учетная запись в группе Domain Admins)

  • User name: ekzorchik
  • Password:  712mbddr@
  • Domain: polygon

И нажатие на кнопку OK, получаю сообщение об ошибке, если перейти на вкладку Errors, то текст ошибки:

Uninstall protection agent from w10x64p1.polygon.com failed:

Error 347: An error occurred when the agent operating to create the DPM Agent Coordinator service on w10x64p1.polygon.com

Error details: The service did not respond to the start or control request in a timely fashion

Recommended action: Verify that the Agent Coordinator service on w10x64p1.polygon.com is responding, if it is present. Review the error details, take the appropriate action, and then retry the agent operation.

Выход из этой ситуации это:

On srv-dpm.polygon.com

Win + X – Command Prompt (Admin)

123456789101112131415C:\Windows\system32> powershell PS C:\Windows\system32> cd ‘C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin’ PS C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin> .\Remove-ProductionServer.ps1 DPMServer: указываю srv-dpm.polygon.com PSName: указываю w10x64p1.polygon.com WARNING: Connection to DPM server: srv-dpm.polygon.com Removed ProductionServer successfully PS C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin>

После в оснастке System Center 2012 R2 DPM Administrator Console – Management более не значится система с ранее установленным агент связь с которым более нет.

Итого заметка работоспособна. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.

Как удалить агент DPM в ручную из Windows 10

Порой нужно уметь удалить DPM агент, установленный на Windows 10 Pro (Version 10.0.18362.900) только вручную, а не с использованием оснастки DPM Administrator Console, что я имею ввиду под понятием "Вручную", а удаление каждого компонента + все файлы которые создались в процесс установки.

Версия установленного агента у меня 4.2.1205.0 для DPM который установлен по заметке.

Авторизуюсь на клиентской станции под управлением Windows 10 Pro с правами администратора и в текстовом файле редактора Notepad++ создаю свой вариант bat файла удаления агента из системы:

12345678910111213@echo offtaskkill /F /IM “DPMRA.exe”taskkill /F /IM “DPMClient.exe”taskkill /F /IM “DPMClientUI.exe”wmic product where name=”Microsoft System Center 2012 R2 DPM Protection Agent” call uninstall /nointeractivermdir /S /Q “c:\Program Files\Microsoft Data Protection Manager”rmdir /s /Q “c:\Windows\Microsoft Data Protection Manager”sc delete DPMRAreg delete HKLM\SYSTEM\CurrentControlSet\Services\DpmFilter /f /vareg delete HKLM\SYSTEM\CurrentControlSet\Services\DPMRA /f /vanet localgroup DPMRADCOMTrustedMachines /deletenet localgroup DPMRADmTrustedMachines /deletenet localgroup DPMRATrustedDPMRAs /delete

На заметку: По мере выявления дополнительных нюансов строки скрипта будут дополняться.

После запускаю через правый клик мышью на нем и выбор меню "Запуск от имени администратора". Этими действиям агент DPM успешно удален с системы, также нужно пройтись по заметке "Как удалить Unprotected computer с сервера DPM" чтобы не было следов на сервере DPM и если понадобится установка агента его можно было поставить заново и завести в DPM.

На заметку: После желательно перезагрузить систему

Итого данная заметка полностью работоспособна. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.

Создаем GPO на выключение брандмауэра

Для своих тестов на полигоне под управлением гипервизора Debian 10 + Proxmox 6 (Как установить proxmox on Debian 10), разворачиваю обычно если по части Windows, то это домен контроллер (GPO для уровня домена Windows Server 2012 R2) + сервис + рабочая станция дабы оттестировать определенный функционал. Ну так вот сперва я проделываю все без использования встроенного брандмауэра, а потом вместе с ним дабы внедряемые настройки в боевой среде были от и до, но с учетом безопасности и то что нужно. К тому же заметка становится более полной где учтены все нюансы.

Каждый раз отключать брандмауэр вручную на системах это утомительно и не по административному. Лучше я посредством групповых политик создам настройку, которая будет это делать за меня. Ну так вот.

Шаг №1: Подключаюсь к домен контроллеру с правами Domain Admins

В качестве операционной системы использую как на тесте, так и на боевом окружении организации где я работаю это Windows Server 2012 R2 Std, у меня ОС разворачивается по сети по заметке "Автоматизация установки Server2012R2 + WinPE + Virtio + Fog on Proxmox 6"

Шаг №2: Запускаю оснастку Group Policy Management

Win + X - Control Panel - Administrative Tools - Group Policy Management

Шаг №3: Создаю групповую политику, именую ее как: GPO_Firewall_Disabled

  • Location: polygon.com
  • Security Filtering: Authenticated Users
  • WMI Filtering: <none>

Шаг №4: Содержимое групповой политики GPO_Firewall_Disabled:

Computer Configuration - Policies - Windows Settings - Security Settings - Windows Firewall with Advanced Security — и через правый клик мышью на Windows Firewall with Advanced Security открываю Properties (Свойства) и для каждого из трех профилей:

Domain Profile

  • Firewall state: Off

Private Profile

  • Firewall state: Off

Public Profile

  • Firewall state: Off

после нажимаю Apply - OK

После закрываю редактор Group Policy Management Editor

Шаг №5: Перезагружаю, как серверную операционную систему, так и клиентскую в рамках своего домена и после загрузки применяется моя GPO

Шаг №6: Проверяю, что встроенный брандмауэр деактивирован:

on srv-dpm.polygon.com (Login: ekzorchik Group: Domain Admins)

Win + X - Control Panel - Windows Firewall и вот все профили деактивированы:

Брандмауэр деактивирован через GPO

Отлично, что мне и требовалось.

На заметку: Данная настройка GPO справедлива и для Server 2016 и для Server 2019.

На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.