Для взять сессию Телеграмма для запуска ивайта

date

04.08.2021

user

itpro

directory

PowerShell, Windows 10, Windows Server 2016, Windows Server 2019

comments

комментариев 12

Командлет Enter-PSSession позволяет создать постоянную интерактивную PowerShell сессию с удаленным компьютером. Все команды, которые вы вводите в вашей командной строке, выполняются на удаленном компьютере. В этой статье мы рассмотрим основные возможности и особенности использования командлета Enter-PSSession для удаленного управления компьютерами с Windows 10 и Windows Server 2019/2016.

Командлет Enter-PSSession работает на базе стека PowerShell Remoting. PSRemoting основан на Web Services for Management (WS-Management). Для связи используется служба WinRM (Windows Remote Management). Трафик между компьютерами шифруется на уровне протокола (можно использовать SSL шифрование). Для аутентификации можно использовать различные методы, в том числе NTLM и Kerberos.

Инвайтинг в телеграм. Новый сервис для инвайта в Telegram. Рекрутинг онлайн

Для подключения в самом простом случае нужно указать только имя компьютера (параметр ComputerName). Чтобы подключиться к удаленному компьютеру, достаточно выполнить команду:

Enter-PSSession интерактивная сессия с удаленным компьютером

Если у текущего пользователя есть полномочия на подключение к удаленному серверу, вы подключитесь к удаленному компьютеру.

Можно перед подключением запросить учетные записи пользователя:

Enter-PsSession –ComputerName hq-srv01.contoso.com –Credentials contosokbuldogov

$creds = Get-Credential
Enter-PSSession -ComputerName hq-srv01 -Credential $creds

Обратите внимание, что в начале командной строки PowerShell теперь в квадратных скобках указывается имя удаленного компьютера ( [hq-srv01.contoso.com] ). Это позволяет понять, работаете ли вы в локальной сессии или в удаленной.

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

В этой интерактивной командной строке вы можете выполнять любые команды (в соответствии со своими полномочиями).

Можно изменить настройки DNS на удаленном компьютере:

Set-DNSClientServerAddress –InterfaceIndex 6 –ServerAddresses 192.168.13.4, 192.168.100.4

управление удаленным компьютером через консоль PowerShell

Чтобы завершить интерактивную сессию удаленного управления, нужно выполнить команду Exit-PSSession или exit. Строка-приглашение PS примет свой обычный вид, и вы вернетесь к своей локальной PowerShell консоли:

Exit-PSSession отключится от удаленного компьютера

Ранее для запуска интерактивной командной строки с удаленным Windows компьютером администраторы в основном использовалась утилиту PsExec. Но с появлением Enter-PSSession необходимость в использовании сторонней утилиты исчезла.

В Windows Server 2016/2019 PowerShell Remoting включен по умолчанию (это видно в консоли Server Manager -> Local Server -> Remote Management = Enabled).

Еще по теме:  ТГ появляються каналы на которые не подписывалась

В десктопных версиях Windows (Win10, Win11) PSRemoting и служба WinRM отключены.

remote management включен в Windows Server 2016 и 2019

Вы можете проверить, включен ли PSremoting на текущем компьютере:

Данная команда также позволяет получить список пользователей и групп, которым разрешено подключаться через WinRM. Для использования PSRemoting учетная запись пользователя должна состоять в группе Administrators или Remote Management Users . Особенности удаленного использования WinRM без прав администратора описаны здесь.

получить настройки PSRemoting с помощью Get-PSSessionConfiguration

Вы можете протестировать, можно ли подключится через PowerShell Remoting к вашему компьютеру локально:

Test-WSMan -ComputerName localhost

Если команда вернет версию схемы WSMan, значит удаленные подключения к этому компьютеру через PS Remoting разрешены.

Test-WSMan проверка подключения powershell remoting

Если PowerShell Remoting отключен или не настроен, появился ошибка:

Test-WSMan : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: «winrm quickconfig».

Чтобы включить PowerShell Remoting, выполните команду:

  • Включает службу WinRM и настраивает ее на автозапуск;
  • Создает точку подключения на стандартном порту WinRM (TCP/5985 для HTTP трафика);
  • Добавляет исключения в Windows Firewall для WS-Management (если вы настраиваете PSRemoting вручную, добавьте правило самостоятельно);
  • Разрешает удаленные PowerShell сессии;
  • Перезапускает службу WinRM.

Убедитесь, что служба WinRM запущена и настроена на автоматический запуск:

Get-Service WinRM | Select MachineName,Name,Status, StartType

служба WinRM в windows

Команда Enable-PSRemoting работает только для доменного и частного сетевых профилей Windows. Если вы хотите включить PSRemoting на компьютере в общей (public) сети, нужно изменить тип сети на частную или воспользоваться командой:

Enable-PSRemoting -SkipNetworkProfileCheck -Force

В домене Active Directory проще всего настроить Windows Remote Management (PSRemoting) на серверах и компьютера централизованно с помощью групповой политики.

В новых версиях PowerShell(v6 и v7) поддерживается использование протокола Secure Shell (SSH) для подключения к удаленному компьютеру через PowerShell Remoting. На удаленном компьютере должен быть доступна точка подключения SSH (в Windows теперь есть встроенный SSH сервер). Вы можете запустить интерактивную сессию PSRemoting поверх SSH с помощью команды:

Еще по теме:  Как в Телеграмме найти канал и подписаться по номеру телефона

Enter-PSSession -HostName k[email protected]:22 -KeyFilePath c:PSyour_rsa_key

Enter-PSSession можно использовать совместно с командой New-PSSession:

$s = New-PSSession -ComputerName hq-srv01.contoso.com
Enter-PSSession -Session $s

Enter-PSSession поддерживает несколько способов аутентификации. Вы можете задать нужный способ с помощью параметра -Authentication . Поддерживаются Basic, Digest, Kerberos, CredSSP, NegotiateWithImplicitCredential, Negotiate Challenge.

В примере выше мы показали пример интерактивного подключения Enter-PSSession между компьютерами в одном домене Windows (для подключения достаточно указать FQDN или короткое имя, используется Kerberos аутентфикация). Если попробовать подключиться к удаленному компьютеру по IP адресу или CNAME, аутентификация не пройдет:

Enter-PSSession : Connecting to remote server 192.168.13.5 failed with the following error message: The WinRM client cannot process the request. Default authentication may be used with an IP address under the following conditions: the transport is HTTPS or the destination is in the TrustedHosts list, and explicit credentials are provided. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated.

Default authentication may be used with an IP address under the following conditions: the transport is HTTPS or the destination is in the TrustedHosts list, and explicit credentials are provided

Для подключения к удаленному компьютеру по IP можно добавить этот хост в список доверенных (Trusted Hosts) или использовать SSL (более безопасно).

Чтобы добавить IP адрес в доверенные, выполните команду:

Set-Item WSMan:localhostClientTrustedHosts -Value 192.168.13.5

Можно добавить в доверенные хосты по маске

Set-Item WSMan:localhostClientTrustedHosts -Value *.winitpro.ru

Вывести список доверенных хостов:

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

Чтобы подключиться к удаленному компьютеру по IP адресу, используйте такую команду:

Enter-PSSession -ComputerName 192.168.13.5 -Credential (Get-Credential -UserName contosokbuldogov)

Командлеты Enter-PSSession и New-PSSession создают постоянную сессию типа один к одному и используются в основном в интерактивных сценариях. Если вам нужно автоматизация, или есть задачи, которые нужно выполнить сразу на множестве удаленных компьютерах, используйте командлет Invoke-Command.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Еще по теме:  Где ссылка Ватсап и Телеграмм

Источник: winitpro.ru

Установка Telegram бота на VPS с OC Ubuntu

Для начала, обновим репозитории ОС до актуальной версии и установим данные обновления:

apt update
apt upgrade

Для работы Python-бота, на сервер необходимо установить Python. Вводим следующую команду:

apt install python3-pip python-is-python3

Введем следующую команду для проверки версии Python:

версия python

Если у Вас вышло подобное окошко, значит Вы корректно установили Python на VPS сервер. Теперь, для нашего бота необходимо установить библиотеку pytelegrambotapi, для того, чтобы связать запросы с нашего VPS сервера с серверами Telegram:

pip install pytelegrambotapi

Теперь можно загрузить сам бот. Для этого используем команду wget:

wget https://raw.githubusercontent.com/Sullik/testbot/main/bot.py

После этого, откроем файл в текстовом редакторе nano:

nano bot.py

user_id в Телеграмме

Далее Вам бот предоставит user_id, как на скриншоте ниже.

Необходимо снова открыть файл bot.py на сервере и внести некоторые изменения:

nano bot.py

В поле bot = telebot. TeleBot(«bot_token») вместо «bot_token» вставляем токен бота, который Вам предоставил Telegram.

В поле user_id = XXXXXXXXX все X-ы заменяем на Ваш user_id.

После этого, необходимо сохранить изменения. Для этого вводим следующие комбинации клавиш:

Ctrl + O — записать изменения

Ctrl + X — выйти из редактора nano.

Для удобства использования бота, создадим системную службу telegrambot.

Для этого вводим следующие команды:

touch /etc/systemd/system/telegram-bot.service
(создаем файл telegram-bot.service)
chmod 664 /etc/systemd/system/telegram-bot.service
(задаем верные права для файла)

Далее добавляем следующие строчки в файл /etc/systemd/system/telegram-bot.service:

nano /etc/systemd/system/telegram-bot.service

[Unit]
Description=Telegram bot
After=network.target
[Service]
ExecStart=/usr/bin/python3 /root/bot.py
[Install]
WantedBy=multi-user.target

В ExecStart указываем интерпретатор, который хотим использовать (в нашем случае /usr/bin/python3), а далее полный путь до самого скрипта (/root/bot.py). После этого перезагрузим конфигурацию systemd и добавим нашу службу telegram-bot в автозагрузку:

systemctl daemon-reload
systemctl enable telegram-bot.service

Проверим работу службы telegram-bot с помощью следующей команды:

systemctl status telegram-bot.service

проверка работы телеграмм бота в консоли

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

проверка работы телеграмм бота в телеграмме

Бот успешно заработал на VPS сервере.

Смотрите подборку лучших VPS в России на нашем сайте.

Источник: vpsup.ru

Рейтинг
( Пока оценок нет )
Загрузка ...