Linux 上の PowerShell で認証プロセスを自動化できない

Linux 上の PowerShell で認証プロセスを自動化できない

Debian 11 に PowerShell 7.3.0 をインストールしました。リモートの Windows コンピューターでコマンドを実行できるかどうかをテストしています。これは、リモート コンピューターのホスト名を取得する簡単な例です。

#!/usr/bin/env pwsh

$username = "Administrator"
$password = "passgoeshere"
$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $user, $secureStringPwd

Invoke-Command -ComputerName 192.168.xxx.xxx -Credential $cred -ScriptBlock { hostname }

問題は、このスクリプトを実行すると、ユーザー名とパスワードを入力するプロンプトが表示されることです。

PowerShell credential request
Enter your credentials.
User:

資格情報に問題はありません。手動で入力すると、リモート コンピューターのホスト名が表示されます。

これは、Linux 上の PowerShell が資格情報を読み取る方法に関係していると思います。

スクリプトでユーザー名/パスワードの入力を求めないようにするにはどうすればよいですか?

編集:問題はタイプミスでした

答え1

スクリプトにタイプミスがありました

答え2

スクリプトは問題ありません。変数$usernameを$userに変更してください

「Invoke-VMSscript」を使用しました

$user = "ルート"

$password = "パスワード"

$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force

$cred = 新しいオブジェクト System.Management.Automation.PSCredential -ArgumentList $user、$secureStringPwd

Invoke-VMScript -VM My_VM -ScriptText "ホスト名" -GuestCredential $cred -ScriptType Bash を実行します。

ScriptOutput
-----------------------------------------------------------------------------------------------------------------------|  My_VM
|  
-----------------------------------------------------------------------------------------------------------------------

関連情報