Перейти к содержимому

автор автор

Как найти GPO, в которой настроен нужный параметр политики, с помощью PowerShell

В крупном домене Active Directory количество групповых политик (GPO) может исчисляться десятками и сотнями. Когда нужно найти, в какой именно политике задан конкретный параметр — например, «Interactive logon: Machine inactivity limit» — просматривать каждый GPO вручную через консоль управления групповыми политиками (GPMC) слишком долго. Гораздо быстрее сделать это скриптом на PowerShell.

Суть подхода

Модуль GroupPolicy предоставляет командлет Get-GPOReport, который для любой политики может сформировать подробный XML-отчёт со всеми настроенными в ней параметрами — от политик безопасности до административных шаблонов. Идея скрипта проста:

  1. Получить список всех GPO в домене (Get-GPO -All).
  2. Для каждой политики сформировать XML-отчёт (Get-GPOReport
… Читать далее

Как делегировать права на редактирование gpo windows группе безопасности.

задача создать группу и дать права на редактирования gpo

<#
.SYNOPSIS
    Настраивает права группы для работы с GPO:
    - создание новых GPO;
    - редактирование существующих GPO (всех или точечно выбранных);
    - линковка GPO к OU (с наследованием на дочерние OU).

.DESCRIPTION
    ЧАСТЬ 1 (создание новых GPO):
        Добавляет группу в встроенную группу AD "Group Policy Creator Owners".
        Участники этой группы могут создавать новые GPO и автоматически
        становятся их владельцами/редакторами (но только тех, что создали
        сами - см. примечание ниже).

    ЧАСТЬ 2 (редактирование существующих GPO):
        Перебирает GPO в домене, проверяет, есть ли у группы право
        редактирования, и если нет - выдаёт его 
… Читать далее

Как удалить группы из коллекции rds rdp windows

Ошибки на ферме

Error: Exception calling «Translate» with «1» argument(s): «Some or all identity references could not be translated

Unable to retrieve the session collection properties. Some or all identity references could not be translated.

Failed: Unable to retrieve the session collection properties. Some or all identity references could not be translated.

Не публикуется  новое приложение в коллекцию rds rdp windows

Сначала проверим коллекции .\Check-RDSAccessGroups.ps1 -ConnectionBroker «HWRDCB02.adminbd.ru»

<#
.SYNOPSIS
    Аудит групп доступа RDS (Session Collection + RemoteApp) с проверкой их наличия в AD.
 
.DESCRIPTION
    Скрипт перебирает все Session Collections на RDS-ферме, получает список групп,
    назначенных на саму коллекцию и на 
… Читать далее

Как починить авторизацию в 1C Enterprise Development Tools

Не работает авторизация в 1C Enterprise Development Tools

Инет есть . на другом пк все норм . открывается браузер со страницей

Логи «C:\Users\user\AppData\Local\1C\1cedtstart\logs\1cedtstart.log»

В логах ошибка

javax.net.ssl.SSLHandshakeException: PKIX path building failed: unable to find valid certification path to requested target

Подключаеться к services.1c.dev/

Надо экспортировать серт с https://services.1c.dev/  и добавить в java

Бывает не сколько java в cmd узнаем

where java
C:\Program Files\1C\1CE\components\axiom-jdk-full-17.0.16+12-x86_64\bin\java.exe
C:\Program Files\BellSoft\LibericaJDK-21-Full\bin\java.exe

Надо добавить серт в оба

cd "C:\Program Files\1C\1CE\components\axiom-jdk-full-17.0.16+12-x86_64\bin\"
keytool -importcert -alias your_alias -file "C:\_.1c.dev.crt" -keystore ..\lib\security\cacerts -storepass changeit -noprompt

во второй

"C:\Program Files\BellSoft\LibericaJDK-21-Full\bin\keytool" -importcert -alias 1c_root -file "C:\_.1c.dev.crt" -keystore "C:\Program Files\BellSoft\LibericaJDK-21-Full\lib\security\cacerts" -storepass changeit -noprompt

после … Читать далее

Как настроить права «Только чтение» для транспортных правил в Exchange Server (2016/2019)

Введение 
В Exchange Server по умолчанию существует встроенная роль Transport Rules, которая предоставляет полный доступ к управлению правилами обработки почты (создание, изменение, удаление, импорт/экспорт).
Назначение этой роли сотрудникам службы поддержки или аудиторам создает серьезный риск информационной безопасности: злоумышленник или невнимательный сотрудник может случайно перенаправить почту руководства или отключить критически важные правила фильтрации.
Поскольку встроенной роли «Только чтение» для транспортных правил не существует, мы создадим её самостоятельно, скопировав базовую роль и удалив из неё все командлеты, отвечающие за модификацию данных.
Предварительные требования 
  1. Доступ к Exchange Management Shell (EMS) с правами роли Organization Management.
  2. Заранее созданная в Active Directory группа
… Читать далее

Как копировать данных между SQL Server с фильтром по дате при помощи PowerShell и dbatools

Задача: перенести данные из таблицы на одном сервере SQL Server на другой, оставив только записи за последние N месяцев, с автоматическим созданием структуры таблицы на приёмнике.

Решение: PowerShell 7 + модуль dbatools. Скрипт сам определяет столбцы с датой, предлагает выбрать нужный (если их несколько), формирует фильтр и выполняет высокопроизводительное копирование через SqlBulkCopy.

Возможности скрипта

  • ✅ Автоматическое создание таблицы на целевом сервере (если её нет).

  • ✅ Очистка целевой таблицы перед вставкой (опционально).

  • ✅ Сохранение значений IDENTITY (опционально).

  • ✅ Выбор столбца для фильтрации, если в таблице несколько дата-столбцов.

  • ✅ Настройка периода (например, последние 3, 6, 12 месяцев).

  • ✅ Контроль производительности

… Читать далее

Как удалить встречу целый день у всех в календаре exchange

задача у всех удалить встречу созданную  ранее  

Add-Type -Path "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Microsoft.Exchange.WebServices.dll"

# ===== УЧЕТНЫЕ ДАННЫЕ =====
$AdminEmail = "mosk@adminbd.ru"
$Password = "pass"
$Creds = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($AdminEmail, $Password)

# ===== ПОДКЛЮЧЕНИЕ К EWS =====
$TimeZoneInfo = [System.TimeZoneInfo]::Utc
$Service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2016, $TimeZoneInfo)
$Service.Credentials = $Creds
$Service.Url = New-Object Uri("https://mx.adminbd.ru/EWS/Exchange.asmx")

# ===== СПИСОК ПОЛЬЗОВАТЕЛЕЙ =====
#$Users = @("user")
# Для всех ящиков раскомментируйте:
 $Users = Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -ne "RoomMailbox"} | Where-Object { $_.Database -ne "Service" } | Select-Object -ExpandProperty PrimarySmtpAddress

# ===== ПАРАМЕТРЫ ПОИСКА =====
$Subject = "Занято весь день"
$startDate = (Get-Date).AddDays((3 - (Get-Date).DayOfWeek + 7) % 
… Читать далее

Как сделать Стресс-тест HADR_SYNC_COMMIT и PAGELATCH_UP в SQL Server: PowerShell-скрипт с мониторингом и автоочисткой

  1. Выбор баз – подключается к указанному экземпляру SQL Server, выводит список пользовательских баз в Out-GridView для множественного выбора.
  2. Подготовка окружения – принудительно удаляет/пересоздаёт тестовую таблицу dbo.hadr_stress_test в каждой выбранной базе и глобальную таблицу ##hadr_stress_counter в tempdb.
  3. Генерация нагрузки
    • HADR_SYNC_COMMIT: запускает параллельные потоки INSERT с пакетной вставкой. При синхронном режиме AG возникает ожидание подтверждения от вторичных реплик.
    • PAGELATCH_UP: несколько десятков потоков обновляют одну строку в tempdb, вызывая конкуренцию за latch-и страниц выделения (PFS/SGAM).
  4. Контроль роста – отдельные фоновые потоки выполняют TRUNCATE TABLE каждые 15 секунд с механизмом повторных попыток при блокировках.
  5. Мониторинг в реальном времени – каждые
… Читать далее

Как пересоздать индексы mssql в новую файловую группу с помощью PowerShell и dbatools с логированием и бэкапом ver 2

Первая версия

Перенос индексов SQL Server в другую файловую группу — задача, требующая высокой точности и контроля. Ручное выполнение связано с риском потери метаданных, длительными блокировками и отсутствием аудита изменений. В статье представлен готовый к эксплуатации PowerShell-скрипт, который полностью автоматизирует процесс безопасного пересоздания индексов. Решение поддерживает гибкую настройку целевой файловой группы (вплоть до выбора ФГ по умолчанию для каждой БД), автоматически генерирует резервные копии скриптов CREATE INDEX перед изменением, ведёт логирование в файл и системную SQL-таблицу, пропускает индексы со встроенными ограничениями (FULLTEXT, XML, Spatial) и по завершении проводит финальную сверку фактического расположения всех индексов. Дополнительно реализованы автоматическая очистка старых артефактов,
… Читать далее

Как добавить всем пользователем событие на целый день в календаре exchange 2016 через EWS ver2.

первый вариант 

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

Add-Type -Path "C:\Program Files\Microsoft\Exchange Server\V15\Bin\Microsoft.Exchange.WebServices.dll"

# Учетные данные администратора
$AdminEmail = "moskv@adminbd.ru"
$Password = "pass"
$Creds = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($AdminEmail, $Password)

# Подключение к службе EWS
$TimeZoneInfo = [System.TimeZoneInfo]::Utc
$Service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2016, $TimeZoneInfo)
$Service.Credentials = $Creds
$Service.Url = New-Object Uri("https://mx.adminbd.ru/EWS/Exchange.asmx")

# ===== СПИСОК ПОЛЬЗОВАТЕЛЕЙ =====
# Вариант 1: вручную заданные адреса (активен по умолчанию)
$Users = @("user@adminbd.ru")

# Вариант 2: все почтовые ящики организации (раскомментируйте, закомментировав вариант 1)
# $Users =Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -ne "RoomMailbox"} | Where-Object { 
… Читать далее
Яндекс.Метрика