Удаленное подключение к Windows через PowerShell в Linux

я пытаюсь подключиться к машине Windows через PowerShell на машине Linux, чтобы получить информацию о системе, но мне нужно достичь этого без использования WinRm.

во-первых, я установил PowerShell, следуя инструкциям здесь. Запуск PowerShell с pwsh работала нормально.

затем я попытался получить некоторую информацию через WMI, используя следующую команду:

Get-WmiObject -Class Win32_Process -Impersonation 3 -ComputerName IP_ADDRESS

возвращение Get-WmiObject : The term 'Get-WmiObject' is not recognized as the name of a cmdlet, function, script file, or operable program..

после список изменений для версии 6.0 ядра PowerShell я обнаружил, что функции Get-Wmi* следует заменить эквивалентами Get-Cmi*. Давайте попробуем:

Get-CimInstance -Class Win32_Process -Impersonation 3 -ComputerName IP_ADDRESS

возврат: Get-CimInstance : The term 'Get-CimInstance' is not recognized as the name of a cmdlet, function, script file, or operable program.

ищем список команд, набираем Get- и затем Tab, возврат действительно не показывает никакой функции Wmi или Cim.

я могу подключиться к тому же компьютеру с помощью командлета Invoke-Command, но по мере того как я сказал, мне нужно достигнуть его без пользы WinRm, и, видимо, это не тот случай Invoke-Comand

После много поиска Google, я нашел только один подобный вопрос вот так, но это пользователь командлета Enter-PSSession, это тоже использование WinRM если я правильно понял.

наконец, я нашел это запись в блоге С подходит как перчатка с моими потребностями. Тем не менее, он предлагает использовать командлеты Invoke-WmiMethod и Invoke-CimMethod то, для удивления никого, не распознаются команды.

мой вопрос: есть ли в любом случае, чтобы запустить запрос WMI, чтобы получить некоторую информацию Windows, через PowerShell в машине linux без использования WinRm?

Note1: я могу запустить Get-Wmi* и Get-Cim* командлеты в Windows machine PowerShell (например, подключенные через RPC);

Note2: я знаю решение чтобы иметь дело с ним в linux без PowerShell, и он должен работать для кто-то с подобной проблемой, но это не сработало для меня из-за неразрешимого (на данный момент, по крайней мере) проблема кодирования;

INFO

  • OS: Debian 8.10

  • $PSVersionTable.PSVersion: 6.0.1

  • Удаленные Окна: W10 Pro

12
задан James
25.12.2022 8:32 Количество просмотров материала 2509
Распечатать страницу

1 ответ

смотреть вместо Пош через SSH.

смотрите шаг через здесь:

удаленное взаимодействие PowerShell по SSH

обзор

PowerShell remoting обычно использует WinRM для согласования подключения и транспортировка данных. SSH был выбран для этой реализации удаленного взаимодействия, так как теперь он доступен для платформ Linux и Windows и позволяет мультиплатформенное удаленное взаимодействие PowerShell. Однако WinRM также предоставляет надежная модель хостинга для удаленных сеансов PowerShell, которые реализации пока не делаем. А это значит, что PowerShell remote конфигурация оконечной точки и JEA (как раз достаточное администрирование) еще не поддерживается в этой реализации.

удаленного взаимодействия PowerShell СШ позволяет сделать основной сеанс PowerShell Remoting с между Windows и Linux. Это делается путем создания Процесс размещения PowerShell на целевом компьютере в качестве подсистемы SSH. Окончательно это будет изменено к больше общая модель размещения подобно тому, как WinRM работает для поддержки конфигурации оконечной точки и Джи.

командлеты New-PSSession, Enter-PSSession и Invoke-Command теперь имеют новый набор параметров для облегчения этого нового подключения удаленного

https://github.com/PowerShell/PowerShell/tree/master/demos/SSHRemoting

2
отвечен postanote 2022-12-26 16:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх