Я работаю над сценарием, который входит в виртуальную машину, подключенную к моей AD, для выполнения некоторых административных функций.Сценарий будет запущен приложением, запущенным на хосте Linux.Я установил PowerShell Core и модуль PowerShell для Windows-совместимости, чтобы я мог войти через SSH.Я могу успешно войти в систему и запустить мой сценарий, если я использую пароль, но если я вхожу в систему с использованием ключа RSA, я получаю эту ошибку при импорте AD:
Невозможно связаться с сервером.Это может быть связано с тем, что этот сервер не существует, в данный момент не работает или на нем не запущены веб-службы Active Directory.
- CategoryInfo: ResourceUnavailable: (:) [Get-ADComputer], ADServerDownException
FullyQualifiedErrorId: ActiveDirectoryServer: 0, Microsoft.ActiveDirectory.Management.Commands.G0ADCommander.GetADCC
PSComputerName: localhost
Сценарий на хосте Linux выглядит примерно так:
#!/bin/bash
ssh ad\\ad-user@windows-host-ip \
-o IdentitiesOnly=yes \
-i ./id_rsa \
"C:\\pwsh\\pwsh.exe -c C:\Users\ad-user\Scripts\ad-management-script.ps1"
И ad-management-script.ps1
выглядит примерно так:
Import-WinModule ActiveDirectory
Get-ADUser -Identity ad-user
Как я уже говорил ранее: это работает отлично, если я оставляю ключ выключенным и ввожу пароль, но при этом я получаю сообщение об ошибке, о которой упоминал выше, если я использую ключ.
Другие примечания: Независимо от того, какой метод я использую для входа, я получаю эти значения из $ env:
> $env:username
ad-user
> $env:userdomain
ad
Заранее благодарен за любые рекомендации.