Wednesday 29 April 2020

Windows PowerShell Web Access.

Всем привет.

В Windows Server 2012 появилась новая функция с  именем Windows PowerShell Web Access. Как следует из ее названия, данная функция позволяет удаленно управлять сервером Windows 2012 с помощью PowerShell через обычный веб-браузер. Функция Windows PowerShell Web Access реализована в виде приложения IIS, которое выступает в роли  шлюза между браузером и сервером, которым вы хотите управлять.

Стоит сразу отметить, что на обоих машинах должна быть включена функция PowerShell remoting. Сделать это можно командой:

Enable-PsRemoting

Часто на этом шаге можно встретить ссылку на команду
WinRM quickconfig

Однако это не тоже самое что Enable-PSRemoting!

Enable-PSRemoting делает больше действий чем «winrm quickconfig». Командлет Set-WSManQuickConfig делает точно такие же действия как «winrm quickconfig». Enable-PSRemoting запускает Set-WSManQuickConfig когда ведет настройку системы

Set-WSManQuickConfig делает следующее:
  • запускает WinRM сервис
  • устанавливает автостарт службы WinRM в автоматический
  • создает прослушиватель
  • добавляет исключения файрвола.

Sunday 26 April 2020

Консольный вывод в Powershell.

Всем привет.

Самый простой вариант консольного вывода в Powershell это использование командлета Write-Host. Кроме него есть еще Write-Output и Write-Verbose.

$EventSource = "Powershell CLI"
$Message = "PowerShell version 3 or higher is required!"

Пример для Write-Host:
$Message1 = 'Host:' + $Message
Write-Host $Message1

Пример для Write-Output:
$Message2 = 'Output:'+$Message
Write-Output $Message2

Write-Output генерирует выходной сигнал. Этот вывод может перейти к следующей команде после конвейера или консоли, чтобы он просто отображался. Командлет отправляет объекты по основному конвейеру, также известному как «выходной поток» или «конвейер успеха».

Еще пример:
Write-Output 'My text' | Out-File -FilePath "$env:TEMP\Test.txt"
Write-Output 'Bob' | ForEach-Object {
    "My name is $_"
}

Командлет Write-Output отправляет указанный объект по конвейеру в следующую команду.
Если команда является последней командой в конвейере, объект отображается в консоли.
Интерпретатор PowerShell рассматривает это как неявный Write-Output. Поскольку поведение по умолчанию Write-Output - отображать объекты в конце конвейера, обычно нет необходимости использовать командлет. Например, Get-Process | Write-Output эквивалентен Get-Process .

Friday 24 April 2020

Windows Event Forwarding - вспомнить все.

Всем привет.

Так уж получилось что опять меня спросили про настройку передачи событий с одного хоста (источник) на сервер (коллектор). Операция несколько тривиальная, но когда ее проходишь редко то кое-что забывается. Перечитав свой блог я заметил что у меня на эту тему было целых 4 поста (ссылки приведены в конце текста). Но ни один из них не дает четкой последовательности действий.  Поэтому сегодня я решим освежить себе, а заодно и вам,  всю процедуру целиком с нового источника. Итак поехали.

Настройка на сервере Windows Event Collector (WEC).

Для настройки Windows Event Forwarding необходимо на сервере, который будет выступать в роли Коллектора логов (сервер WEC) выполнить следующие действия: 

1) Настроить подписку (Event Viewer/Subscriptions): 
Зображення, що містить знімок екрана

Автоматично згенерований опис

Зображення, що містить знімок екрана

Автоматично згенерований опис

Версия на печать

Популярное