Как установить модуль PSTerminalServices
Задача: В ходе составления пошаговой заметке, как посредством Zabbix Server 4.4 on Ubuntu 18.04 Server
мониторить RDP
соединения, сессии и т.д на Windows Server 2012 R2 Std
мне понадобилось чтобы в системе был модуль PSTerminalServices
посредством которого я все это проверну, но вот в процессе его инсталляции в систему столкнулся с недопонимание как он должен быть инсталлирован. Ниже моя пошаговая заметка как это дело поправить от и до.
Шаг №1:
Авторизуюсь в системе Windows
с правами Администратора ( это у меня учетная запись Login: ekzorchik Pass: 712mbddr@
) и запускаю сперва консоль командной строки, а после перехожу в консоль PowerShell:
1234567891011 | Win + X – Command Prompt (Admin) – Yes Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\Windows\system32>powershell Windows PowerShell Copyright (C) 2014 Microsoft Corporation. All rights reserved. |
Шаг №2:
Вывожу на консоль какие пути использует консоль PowerShell
когда производится подгрузка модуля в скрипте или в интерактивном режиме:
1234567 | PS C:\Windows\system32> $env:PSModulePath C:\Users\ekzorchik\Documents\WindowsPowerShell\Modules;C:\Program Files\Windows PowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ PS C:\Windows\system32> |
Шаг №3:
У меня есть модуль PSTerminalServices через который я расписываю как мониторить состояние RDP
посредством Zabbix Server 4.4
и вот его мне нужно добавить в систему дабы через Zabbix Agent
получать значения.
Я файлы модуля скопировал в созданный каталог "RDP"
:
12345678910111213141516171819 | C:\Windows\System32\WindowsPowerShell\v1.0\Modules\Rdp (Directory) Format PSFanatic.PSTerminalServices.Format.ps1xml (Directory) Bin Cassia.dll Cassia.zip (Directory) en-US about_PSTerminalServices_Module.help.txt PSTerminalServices.psd1 PSTerminalServices.psm1 |
Проверяю, а какие теперь модули видит оболочка PowerShell
:
123 | PS C:\Windows\system32> Get-Module -ListAvailable Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules |
но увы в выводе нет моего модуля: PSTerminalServices
Шаг №4:
Что я сделал чтобы модуль появился в списке, просто переименовал директорию RDP
в PSTerminalServices
и после вывод команды Get-Module -ListAvailable
показал наличии моего модуля.
Шаг №5:
Пробую импортировать модуль в консоль PowerShell
, но перед этим закрываю консоль PowerShell
и по шагам выше открываю, затем:
12345678910111213 | Win + X – Command Prompt (Admin) – Yes C:\Windows\system32>powershell Windows PowerShell Copyright (C) 2014 Microsoft Corporation. All rights reserved. PS C:\Windows\system32> Set-ExecutionPolicy Unrestricted PS C:\Windows\system32> Import-Module PSTerminalServices PS C:\Windows\system32> |
ошибок нет, модуль подгружен.
Ниже, пример получения активных RDP
сессий с текущего сервера где у меня поднята роль терминального сервера:
12345678910111213141516171819202122232425 | PS C:\Windows\system32> Get-TSSession -State Active -ComputerName localhost | foreach {$_.DomainName, $_.UserName, $_.ClientName, (($_.IPAddress).IPAddressToString), “”} SRV-TS01 ekzorchik navy 172.33.33.16 SRV-TS01 alektest EKZORCH-D9VNKEM 172.33.33.11 SRV-TS01 alektest1 EKZORCH-GTVREI9 172.33.33.43 |
Шаг №6:
Получить справку по модулю
1 | PS C:\script> get-help PSTerminalServices |
Вот отлично. Модуль работает. На этом у меня пока все, с уважением автор блога Олло Александр aka ekzorchik.