【问题标题】:Silently RDC with Powershell使用 Powershell 静默 RDC
【发布时间】:2018-05-03 21:40:42
【问题描述】:

我的目标如下:我需要能够进入我们的一台服务器并运行脚本,但我必须通过 PowerShell 远程执行此操作。它需要静默运行 - 不需要任何用户输入。我想为脚本提供一个用户名\密码以及一个 IP 地址。

我需要能够 RDC,以便在 Octopus 上完成任务后编辑服务器上的文件。

到目前为止,我尝试过的所有东西都需要在打开时输入密码。有人能指出我正确的方向吗?

现在我有这个:New-PSSession -ComputerName 100.100.10.100 -Credential Code1\name 我知道这会提示输入密码,但我想知道是否有办法解决这个问题,或者我应该使用其他类型的命令。

【问题讨论】:

  • 到目前为止你尝试过什么?我认为我们需要更多细节。什么命令提示输入密码?
  • 当您可以使用 PS Remoting 连接并使用 PowerShell 检查文件时,为什么要使用 RDC?
  • Ben,我是否使用 PsRemoting 并不重要。我一直在尝试使用新的 PSSession,但它仍然提示我输入密码,这将是自动化的问题。现在我有这个:New-PSSession -ComputerName 100.100.10.100 -Credential Code1\name
  • 嗯,首先,您还没有真正弄清楚提示输入凭据的确切内容。其次,如果您有关于您的问题的更多信息,您应该编辑问题以包含信息,而不是将其放在评论中。第三。您显示的命令不会将密码传递给 New-PSSession cmdlet,所以会提示您。查看 Get-Credential cmdlet。
  • 是的,有办法绕过凭据提示。使用 Get-Credential 创建一个凭据对象,包括您传递给 New-PSSession 的密码。当然,这通常涉及将密码放入脚本中,这不是世界上最安全的事情。

标签: powershell powershell-remoting


【解决方案1】:

创建一个凭证对象,

$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName,$Password
New-PSSession -Credential $Credential -computerName $computer

使用参数获取$Username$Password$Password 的类型为[system.Security.SecureString

【讨论】:

    猜你喜欢
    • 2020-05-30
    • 2015-01-03
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多