【问题标题】:Create PSCredential without a password创建没有密码的 PSCredential
【发布时间】:2011-07-27 03:19:28
【问题描述】:

如何创建一个没有密码的 PSCredential 实例? (无需手动填写Get-Credential无密码对话框,这是无人值守运行。)

我尝试过的事情:

  1. $mycreds = New-Object System.Management.Automation.PSCredential ("username", $null) 错误:无法处理参数,因为参数“密码”的值为空

  2. $mycreds = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString $null -AsPlainText -Force)) 错误:ConvertTo-SecureString:无法将参数绑定到参数“String”,因为它为空。

  3. $mycreds = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "" -AsPlainText -Force)) 错误:ConvertTo-SecureString:无法将参数绑定到参数“String”,因为它是一个空字符串。

【问题讨论】:

  • pscredential 需要密码。

标签: .net powershell powershell-2.0 system.management


【解决方案1】:

解决方案:

$mycreds = New-Object System.Management.Automation.PSCredential 
              ("username", (new-object System.Security.SecureString))

【讨论】:

  • 嗨@EugeneO 希望你能帮我解决这个问题stackoverflow.com/questions/9290830/…tks
  • PowerShell 太复杂了,不可能有这样一个愚蠢的问题。
  • 烦人的似乎你必须处理这两种情况,空密码和填充密码。 ConvertTo-SecureString 非常无用:“不能将参数绑定到参数'String',因为它是一个空字符串。”哎呀。
  • 这是个坏主意
【解决方案2】:

使用 Get-Credential cmdlet,当出现凭据对话框时,不要输入密码

$cred = Get-Credential pebrian27
$cred.GetNetworkCredential() | select UserName,Password

UserName   Password
--------   --------
pebrian27

【讨论】:

  • -1 - 出现一个对话框并且您没有输入某些内容不是 OP 所要求的上下文。并且OP也给出了正确的答案,不需要这个答案。
  • 可能有不止一种解决方案,我看不出 OP 在哪里特别要求不要使用 cmdlet。
  • 我不是在谈论 cmdlet。当然,您可以使用 cmdlet(什么是没有 cmdlet 的 powershell !!)我说的是手动干预,出现一个对话框,然后您不输入密码并返回。这不是一个实际的解决方案。每次脚本运行时,您都希望得到该对话框并返回?
  • 我建议你再读一遍这个问题。与人工干预无关。
  • @Shay Levy - 我避免了凭证提示。但是,是的,我应该明确指出
猜你喜欢
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
相关资源
最近更新 更多