<strong>безопасно хранить удостоверения удаленно выполнять скрипты с помощью power shell</strong>

Выполняется нижеприведенный cmdlet:

$User = [email protected]
$PasswordFile = C:\temp\Cred\Password.txt
$KeyFile = C:\temp\Cred\AES.key
$key = Get-Content $KeyFile
$MyCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, (Get-Content $PasswordFile | ConvertTo-SecureString -Key $key)
Start-Process -FilePath C:\Temp\7z2301-x64.exe -Credential $MyCredential

Однако я получаю следующую ошибку, даже если передаю правильные учетные данные:

Start-Process : This command cannot be run due to the error: The user name or
password is incorrect.
At line:13 char:1
+ Start-Process -FilePath C:\Temp\7z2301-x64.exe -Credential $MyCredent ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOp erationException + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.C ommands.StartProcessCommand

Может кто-нибудь помочь с этим?

Заранее спасибо!

Подготовка вашей среды

Прежде чем мы погрузимся в скрипт, давайте убедимся, что ваша среда настроена правильно:

Создание сценария PowerShell

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

  1. Создайте новый файл сценария PowerShell: Откройте выбранный вами текстовый редактор и создайте новый файл с расширением `.ps1`, например, `RunRemoteBatchFile.ps1`.

Выполнение сценария

Наконец, давайте выполним сценарий и запустим удаленный пакетный файл:

  1. Перейдите к файлу сценария: Используйте команду `cd` для навигации к папке, в которой сохранен ваш сценарий.

Ваш сценарий должен теперь подключиться к указанному удаленному компьютеру, аутентифицироваться с использованием сохраненных учетных данных и выполнить указанный пакетный файл на удаленном компьютере. Теперь вы безопасно сохранили свои учетные данные и выполнели пакетный файл на удаленном компьютере с помощью PowerShell!

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

Enter-PSSession <IPaddress> -Credential Administrator
$username = Administrator
$password = ConvertTo-SecureString ****** -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList($username, $password)
$serverNameOrIp = *****
Enter-PSSession -ComputerName $serverNameOrIp -Credential $cred
Enter-PSSession : Connecting to remote server ****** failed with the following error message : WinRM cannot
process the request. The following error with errorcode 0x80090311 occurred while using Kerberos authentication: There
are currently no logon servers available to service the logon request.
Possible causes are: -The user name or password specified are invalid. -Kerberos is used when no authentication method and no user name are specified.
  • Kerberos принимает имена пользователей домена, но не локальные имена пользователей.

  • Удаленный компьютер и порт не имеют служебного имени (SPN).

  • Клиентский и удаленные компьютеры находятся в разных доменах, и между ними нет доверия.

:/>  Как активировать офис 2013 профессиональный плюс бесплатно ключ и Лицензионный адрес для получения лицензии на 2022 год

После проверки вышеуказанных проблем, попробуйте следующее:

  • Проверьте журнал событий на наличие событий, связанных с аутентификацией.

  • Измените метод аутентификации; добавьте компьютер назначения в настройку конфигурации WinRM TrustedHosts или используйте транспорт HTTPS.

Обратите внимание, что компьютеры в списке TrustedHosts могут не быть аутентифицированы.

  • Для получения дополнительной информации о конфигурации WinRM выполните следующую команду: winrm help config. Для дополнительной информации см. тему справки about_Remote_Troubleshooting.

На C:\Users\Administrator\Downloads\cred.ps1 строка 6:

  • Enter-PSSession -ComputerName $serverNameOrIp -Credential $cred

  • CategoryInfo : InvalidArgument: (******:String) [Enter-PSSession], PSRemotingTransportException

  • FullyQualifiedErrorId : CreateRemoteRunspaceFailed

Пожалуйста, обратите внимание, что удаленный сервер находится в списке доверенных хостов.