Скачайте сборщик
Сохраните скрипт, при необходимости выполните Unblock-File (разблокировка скачанного файла).
Infrastructure agent
Сбор событий безопасности Windows Server, построение метрик и доставка отчётов в платформу в реальном времени.
Один файл SecurityEventReport.ps1 — отправка журналов Security, System и PowerShell Operational на ваш ingest endpoint.
Метод POST, заголовок Authorization: Bearer <api_key>.
https://log.sipkin.ru/api/v1/reports/ingest
Сохраните скрипт, при необходимости выполните Unblock-File (разблокировка скачанного файла).
В админ-панели создайте организацию и сохраните выданный ключ — он используется только в заголовке Authorization.
Периодический запуск с правами чтения Security log и флагами -SendReport, -HoursBack.
Убедитесь, что в разделе «Отчёты» появляются новые записи с корректной организацией и статусом риска.
Если браузер пометил скрипт как «из интернета»
Что это. Командлет Unblock-File снимает с файла маркер блокировки, который ОС добавляет для скачанных из браузера или почты файлов («зона Интернет»).
Важно. Это не заменяет политику выполнения скриптов (ExecutionPolicy) и не даёт прав администратора. Нужен в основном, когда PowerShell жалуется или считает файл «ненадёжным» из‑за скачивания.
Unblock-File -Path 'C:\Scripts\SecurityEventReport.ps1'
Подставьте свой каталог вместо C:\Scripts, если файлы лежат в другом месте.
Если вы уже находитесь в папке со скриптом:
cd C:\Scripts Unblock-File -Path '.\SecurityEventReport.ps1'
cd C:\Scripts .\SecurityEventReport.ps1 ` -OrganizationName 'Имя организации' ` -ServerUrl 'https://log.sipkin.ru/api/v1/reports/ingest' ` -ApiKey 'YOUR_API_KEY' ` -HoursBack 48 ` -SendReport ` -OutputPath 'C:\Reports\Security'
Запускать из сеанса с правами администратора, из каталога со скриптом — используйте .\SecurityEventReport.ps1.
Файлы в проекте: каталог windows_collector/ (SecurityEventReport.ps1, эта инструкция).
Продакшен-сайт: https://log.sipkin.ru
PowerShell 5.1+, только встроенные средства, без модулей.
Метод POST, заголовок Authorization: Bearer <api_key> (ключ выдаётся в админке для организации).
https://log.sipkin.ru/api/v1/reports/ingest
Указывайте этот адрес в параметре -ServerUrl, если используете -SendReport.
Собирает события из журналов Security, System (7045) и при доступности Microsoft-Windows-PowerShell/Operational (4104) за последние HoursBack часов, считает метрики и риск. В JSON включаются алерты с русскими заголовками и описаниями (ключ title/description), сохраняет JSON локально и опционально отправляет его POST на наш сервер.
| Параметр | Описание |
|---|---|
OrganizationName |
Название организации (в отчёт JSON). |
ServerUrl |
URL для POST; для отправки на log.sipkin.ru — см. выше. |
ApiKey |
Токен для заголовка Authorization: Bearer … (в лог не пишется). |
HoursBack |
Глубина выборки в часах (по умолчанию 48). |
SendReport |
Если указан — отправить отчёт на ServerUrl. |
OutputPath |
Каталог для JSON и технического лога (по умолчанию — папка скрипта). |
Локальный файл всегда: security_report_<ИМЯ_ХОСТА>_<yyyyMMdd_HHmmss>.json
Технический лог: security_report_<ИМЯ_ХОСТА>_script.log
.ps1В тексте скрипта есть русские строки (заголовки и описания алертов в JSON). Сохраняйте файл SecurityEventReport.ps1 в UTF-8 (на Windows удобно UTF-8 с BOM через «Сохранить как» в редакторе), иначе кириллица в отчёте может превратиться в «кракозябры».
Русские названия групп для событий по-прежнему собираются из UTF‑8 байтов в коде там, где это нужно. Название организации задавайте параметром -OrganizationName; кодировка консоли и параметров должна быть совместима с вашей локалью.
Поле type у алерта в JSON остаётся английским машинным кодом (failed_logon_volume и т.д.) — это удобно для фильтров и автоматизации; в веб‑интерфейсе платформы для известных типов показывается русская расшифровка.
SecurityEventReport.ps1 с сайта (ссылка выше) или скопируйте из windows_collector/ репозитория (например в C:\Scripts\).Unblock-File -Path 'C:\Scripts\SecurityEventReport.ps1'.Важно: в Windows PowerShell скрипт из текущей папки нужно вызывать с префиксом .\, иначе оболочка ищет «команду» в PATH и показывает подсказку «команда не найдена». Правильно: .\SecurityEventReport.ps1, неправильно: SecurityEventReport.ps1.
Альтернатива без смены каталога:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\SecurityEventReport.ps1" -OrganizationName "..." ...
Из PowerShell от имени администратора (нужен доступ к журналу Security):
cd C:\Scripts
.\SecurityEventReport.ps1 `
-OrganizationName 'ООО Пример' `
-ServerUrl 'https://log.sipkin.ru/api/v1/reports/ingest' `
-ApiKey 'ваш_ключ_из_админки' `
-HoursBack 48 `
-SendReport `
-OutputPath 'C:\Reports\Security'
Только локальный отчёт (без HTTP):
.\SecurityEventReport.ps1 `
-OrganizationName 'ООО Пример' `
-ServerUrl 'https://log.sipkin.ru/api/v1/reports/ingest' `
-ApiKey 'x' `
-OutputPath 'C:\Reports\Security'
powershell.exe, пример аргументов:-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\SecurityEventReport.ps1" -OrganizationName "ООО Пример" -ServerUrl "https://log.sipkin.ru/api/v1/reports/ingest" -ApiKey "..." -HoursBack 48 -SendReport -OutputPath "C:\Reports\Security"
Учётную запись задачи и ключ храните осознанно (ключ в аргументах виден тем, у кого есть доступ к задаче).
OutputPath.[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12log.sipkin.ru).