WindowsITPro - winitpro.ru
8.05K subscribers
418 photos
747 links
Канал сайта winitpro.ru для системных администраторов. Настройка и оптимизация Windows, Active Directory, GPO, Exchange, PowerShell, Linux. Виртуализация Hyper-V, VMWare, Proxmox. Облака Azure, Microsoft365
Чат: @winitpro_chat
Связь: @DmitriyKB
Download Telegram
📑Основное преимущество групповых политик в том, что они позволяют довольно просто внедрить одинаковые настройки на все целевые компьютеры/пользователей в домене или OU. Однако в некоторых случая для определенных компьютеров или пользователей нужно сделать исключения из GPO, так чтобы они игнорировали определенные групповые политики.

Есть несколько подходов, позволяющих исключить применение GPO для некоторых пользователей/компьютеров:

🔹Использование GPO Security Filtering для ограничения объектов AD, которые могут применить политику (самый простой и удобный вариант)
🔹Динамическая фильтрация объектов применения GPO на основе их характеристик (атрибутов) с помощью WMI фильтров
🔹Исключения в GPO на уровне Item Level Targeting элементов предпочтений групповых политик. Применимо только для параметров GPO, задаваемых через Group Policy Preferences

Как сделать исключение в групповой политике для пользователя (компьютера)
⚠️Столкнулся с ситуацией, когда обычная процедура установки дополнительной роли/компонента в Windows Server стала невозможной, возвращая ошибку:
The referenced assembly could not be found. Error: 0x80073701.

ⓘ Это указывает на то, что необходимые файлы данного компонента в образе Windows повреждены или отсутствуют.

В статье подробно рассмотрено, как проанализировать файл CBS.log (Component-Based Servicing log), найти поврежденные пакеты обновлений, отсутствующие файлы которых вызывают ошибку.
☑️ Далее нужно переустановить обновление (если возможно), либо через реестр изменить состояние этого обновления, указав , что данное обновление нужно игнорировать системой обслуживания компонентов Windows.

Ошибка The referenced assembly could not be found. Error: 0x80073701 при установке компонентов Windows
ɪᴘ Если для удаленного хоста доступен и IPv4 и IPv6 адрес, Windows по умодчанию будет пытаться подключиться к нему по его IPv6 адресу. Т.е. если сервер DNS или протокол mDNS (в локальной сети) вернул, что для хоста есть и запись AAAA , и A , то по умолчанию подключение выполняется по IPv6 адресу в AAAA записи. На картинке видно, что для доступа к соседнему компьютеру (рабочая группа) после такого резолвинга будет использоваться его IPv6 адрес.

⚠️ Это может вызвать проблему с некоторыми сетевыми сервисами или старыми приложениями, которые не поддерживают IPv6 (не слушают этот сетевой интерфейс).

Т.к. Microsoft не рекомендует полностью отключать IPv6 в Windows, в качестве обходного решения можно увеличить приоритет IPv4 протокола над IPv6 в Windows.
☑️ Вывести таблицу IPv6 префиксов:
netsh interface ipv6 show prefixpolicies 

☑️ Увеличить приоритет (вес) для IPv4 сопоставлений в таблице префиксов:
netsh interface ipv6 set prefix ::/96 60 3
netsh interface ipv6 set prefix ::ffff:0:0/96 55 4


Повысить приоритет протокола IPv4 над IPv6 в Windows
📚 Group Policy Preferences (предпочтения групповых политик) позволяют довольно гибко создавать ярлыки на необходимые программы, сетевые папки, сайты или ярлыки с командами на рабочих столах (или других местоположениях) на компьютерах пользователей домена. Если приложение или ресурс сменит адрес, или нужно изменить строку запуска приложения в ярлыке, администратору достаточно поправить политику, чтобы быстро изменить путь и настройки в ярлыке сразу у всех пользователей.

🔹С помощью Item-Levell Targeting в одной GPO можно создать правила, которые будут создавать ярлык только у определенных пользователей, включенных в заданную группу AD. Одни ярлыки для операторов, другие для сотрудников финансового отдела и т.д.

Создать ярлык на рабочих столах пользователей с помощью GPO
🛡В Windows Server 2025 появился новый функционал, под названием OSConfig, позволяющий быстро внедрить рекомендуемые параметры безопасности ОС в зависимости от роли сервера. Доступно несколько преднастроенных бейзлайнов для контроллера домена, рядового сервера, сервера в рабочей группе, настройки безопасности антивируса Windows Defined, настройки безопасности оборудования и несколько других.

Проверить текущее состояние параметров безопасности сервера и внедрить рекомендованные настройки можно через консоль PowerShell или из веб-интерфейса управления Windows Admin Center (WAC).
✔️ При сканировании настроек для каждого параметра в бейзлайне безопаности будет указано соответствует ли ваш сервер рекомендованной конфигурации или нет (Compliant/Not-compliant).

🛠Можно внедрить целиком весь бейзлайн или только отдельные параметры. В дальнейшем, если вы или любой другой администратор изменит настройки ОС на сервере, они будут автоматически возвращены на те, что заданы в шаблоне.

Включаем рекомендуемые параметры безопасности Windows Server 2025 с помощью OSConfig
📁В Windows можно подключить каталоги на удаленных файловых системах в виде отдельных дисков по защищенному SSH соединению с помощью утилиты SSHFS-Win. SSHFS-Win – это порт, реализующий клиент протокола SSHFS для Windows систем.

Чтобы подключить локальную папку с удаленного хоста в виде сетевого диска можно прямо из проводника Windows, введите UNC путь:
\\sshfs.r\administrator@192.168.158.100\remote_folder

Также можно будет смонтировать сетевой диск из командной строки:
net use m: \\sshfs.r\administrator@192.168.158.100\ps /user:administrator


🔑 Если изменить префикс подключения на sshfs.k, можно использовать SSH аутентификации по ключу вместо парольной.

Подключение сетевого диска в Windows по SSH (SSHFS)
Пользователи домена могут жаловаться на медленный запуск компьютера и долгое время входа в систему, вызванные длительной обработкой назначенных на устройства групповых политик (GPO). С точки зрения пользователя, этот выглядит что компьютер долго загружается и, висит несколько минут на этапе «Применение настроек компьютера/пользователя».

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

Ищем причину долго применения (обработки) групповых политики в Windows
🖥 Подавляющее большинство новых компьютеров и материнских плат, выпущенных с 2013 года, поставляются с UEFI прошивками классических BIOS. Использование нативной UEFI загрузки требует наличия таблицы разделов GPT (вместо MBR), на которой можно создать более 4 основных разделов размерами более 2 Тб. Cамое главное, что для UEFI поддерживается режим безопасной загрузки Secure Boot, защищающий от подмены загрузчика и запуска сторонних зловредов до этапа загрузки ОС.

🛠 Если по какой-то причине вы установили Windows на современном железе в режиме совместимости Legacy BIOS (CSM), можно выполнить онлайн конвертацию таблицы разделов загрузочного диска из MBR в GPT без потери данных и без переустановки ОС. Для этого в Windows 10, начиная с версии 1703, доступна встроенная утилита MBR2GPT.

🔹 Проверить что Windows загружен в режиме Legacy BIOS:
$env:firmware_type

🔹 Проверяем, что на загрузочном диске используется таблица разделов MBR и создано не более 3 первичных разделов:
Get-Disk |Get-Partition

🔹Проверить возможность конвертации:
mbr2gpt /validate /allowfullos

🔹 Выполнить преобразование таблицы разделов из MBR в GPT:
mbr2gpt /convert /allowfullos

Осталось перезагрузить устройство и в настройках UEFI BIOS включить нативный UEFI вместо режима совместимости (Legacy CSM).

Конвертируем загрузочный диск Windows из Legacy BIOS в UEFI
🌐Как правило, среда предустановки WinPE используется либо для установки Windows, либо для выполнения каких-либо операций обслуживания/восстановления локальной системы. Наличие рабочего сетевого подключения в среде WinPE требуется довольно редко. Но в некоторых сценариях может быть крайне полезным, например при сетевом развертывании или восстановлении образа системы, когда нужно обновить антивирусные сигнатуры по сети для офлайн сканирования, получить доступ к репозиторию скриптов или инструментов в сетевом расположении, и т.д.

🛠 В этой статье мы рассмотрим, как вручную загрузить драйвер сетевого адаптера и инициализировать сеть в среде WinPE, задать статический IP адрес, подключить сетевой диск, и управлять файерволом.

Загрузка сетевого драйвера и инициализация сети в среде WinPE
📸Для сотрудников техподдержки понадобилось средство быстрого получения скриншотов рабочего стола пользователей в корпоративной сети без необходимости подключаться к ним средством удаленного просмотра экрана.

</> В статье рассмотрен пример PowerShell скрипта для получения снимка рабочего стола и сохранения его в PNG файл. Для удаленного запуска скрипта в сессии пользователя предполагается использовать PsExec.
.\PsExec.exe -s -i 1 \\wks-msk123 powershell.exe -executionpolicy bypass -WindowStyle Hidden -file "\\fs01\scripts\PS-Capture-Local-Screen.ps1"


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

Сделать скриншот рабочего стола на локальном или удаленном компьютере через PowerShell
ℹ️ С помощью классической утилиты Bginfo от Microsoft на рабочий стол пользователя можно выводить любую системную информацию прямо поверх текущих обоев: имя компьютера, домен, сайт AD, IP адрес, версия Windows, свободное место на диске. Это должно быть особо востребовано службой HelpDesk, сотрудникам которым не нужно будет каждый раз объяснять пользователю как набрать ipconfig в командной строке или сказать имя компьютера. Вся информация есть прямо на рабочем столе пользователя 🧑🏻‍💻 Также это будет удобно для системного администратора, который будет меньше путаться, когда у него одновременно открыты несколько десятков сессии с удаленными серверами.
BgInfo довольно гибкая штука, поэтому вы можете получить и отобразить на рабочем столе любые данные с компьютера, полученные через WMI, VBS или PowerShell скрипт.

🛠Настройка довольно простая:

1️⃣ Настраивается шаблон BgInfo, который определяет, какую информацию нужно показывать, ее внешний вид и положение
2️⃣ Затем через логон скрипт в GPO этот шаблон применяется к компьютерам пользователей. Можно использовать такой bat файл:
reg add HKEY_CURRENT_USER\Software\Sysinternals\BGInfo /v EulaAccepted /t REG_DWORD /d 1 /f
%logonserver%\NETLOGON\Bginfo\Bginfo.exe %logonserver%\NETLOGON\Bginfo\bg_config.bgi /silent /TIMER:00 /nolicprompt

3️⃣ Путем небольшой манипуляции, можно показывать системную информацию Bginfo в том числе на экране входа/блокировки Windows.

Вывод информации о компьютере на рабочий стол пользователя с помощью BgInfo
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧾Вместо использования текстовых лог файлов в скриптах, можно записывать информации о важных событиях непосредственно в журналы Event Viewer.

Можно записывать событий в журнал с помощью PowerShell:
1️⃣ Добавить отдельный источник:
New-EventLog -LogName Application -Source "MyScript"

2️⃣ Записать информационное событие в журнал Application с собственным источником:
Write-EventLog -LogName Application -Source "MyScript" -EntryType Information –EventID 1 –Message "Запущен PowerShell cкрипт опроса состояния сервера "

Событие будет добавлено в журнал.
3️⃣ Можно создать отдельный EVTX журнал для своих событий:
New-EventLog -LogName CustomPSLog -Source PS1Script

В BAT скриптах можно писать событий в Event Viewer с помощью команды:

eventcreate /t information /l application /id 1 /d "BAT script started"


Запись событий в журнал Event Viewer из PowerShell/CMD
⚠️Типичная ситуация, когда вы отправили компьютер в перезагрузку после установки обновлений/добавления ролей, Windows пишет, что выполняется подготовка и нужно дождаться применения изменений. В большинстве случае действительно, нужно набраться терпения и подождать несколько минут/часов 😮, пока Windows закончит установку обновлений/компонент.

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

☑️ Локальный вход в Windows на этом этапе невозможен по понятной причине, но можно подключиться к шелу на таком хосте удаленно. Для подключения можно использовать PsExec:
PsExec.exe \\192.168.158.10 -i -u localadmin powershell.exe 

В открывшемся консоли можно посмотреть, чем занят компьютер, проверить достаточно ли свободного места. Чаще всего проблема связана с зависшей на выключении службой TrustedInstaller:
Get-CimInstance -Class win32_service | where-Object state -eq 'stop pending' 

Если служба находится в состоянии Stop Pending, ее можно принудительно завершить:
taskkill /IM TrustedInstaller.exe /F 

После этого Windows должна корректно завершить работу и перезагрузиться. После загрузки проверить целостность образа и исправить ошибки, если есть:
dism.exe /online /cleanup-image /restorehealth


Бесконечно пишет "Подготовка Windows не выключайте компьютер"
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM