我正在尝试在PowerShell中执行以下命令:

Invoke-Command -ComputerName <computerName> -FilePath script.ps1 -Credential $cred

使用Invoke-Command我正在执行PowerShell脚本“script.ps1”,以$cred提供凭据。

有什么办法可以再次在脚本中使用上面的$cred中传递的变量Invoke-Command而不询问用户有关凭据的信息吗?
即如下所示:
script.ps1:
New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection

最佳答案

您可以让脚本接受凭据参数:
script.ps1:

Param([PSCredential]$Credential)
New-PSSession ... -Credential $Credential

并在将$cred作为这样的参数传递时调用它:
Invoke-Command -Computer $computer -FilePath script.ps1 -ArgumentList $cred -Credential $cred

关于powershell - 从Invoke-Command执行的脚本中访问凭据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57645534/

10-12 03:37