無法在 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”

$用戶=“根”

$密碼=“P@ssword”

$secureStringPwd = $密碼| 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
|  
-----------------------------------------------------------------------------------------------------------------------

相關內容