Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何验证PowerShell凭据是否为域凭据?_Powershell_Authentication_Active Directory_Credentials - Fatal编程技术网

如何验证PowerShell凭据是否为域凭据?

如何验证PowerShell凭据是否为域凭据?,powershell,authentication,active-directory,credentials,Powershell,Authentication,Active Directory,Credentials,下面是我正在尝试的解决方案: 我的脚本要求域凭据作为参数传递。下面是我如何验证这些信誉的: if ($username -and $pass) { $Password = ConvertTo-SecureString $pass -AsPlainText -Force $Credentials = New-Object -Typename System.Management.Automation.PSCredential -ArgumentList $username, $Passwor

下面是我正在尝试的解决方案:

我的脚本要求域凭据作为参数传递。下面是我如何验证这些信誉的:

if ($username -and $pass) {
  $Password = ConvertTo-SecureString $pass -AsPlainText -Force
  $Credentials = New-Object -Typename System.Management.Automation.PSCredential -ArgumentList $username, $Password

  $TestUsername = $Credentials.username
  $TestPassword = $Credentials.GetNetworkCredential().password

  # Get current domain using logged-on user's credentials
  $CurrentDomain = "LDAP://" + ([ADSI]"").distinguishedName
  $domain = New-Object System.DirectoryServices.DirectoryEntry($CurrentDomain,$TestUsername,$TestPassword)

  if ($domain.name -eq $null) {
   write-host "Authentication failed - please verify your username and password."
   exit #terminate the script.
  } else {
   write-host "Successfully authenticated with domain $domain.name"
  }

}

但由于某些原因,这总是导致我出现
“身份验证失败-请验证您的用户名和密码”
。问题是什么?您的解决方案是否也适用于不将cred作为参数传入的runas命令?

我建议不要将纯文本密码作为参数传递给函数。对于如何验证runas命令中的用户是有效的域帐户,您有何意见?说清楚,我仍然需要这两种情况的答案。因为当在多台计算机上运行时,如果密码输入不正确,并且出现了太多失败的身份验证尝试,则用户帐户将被锁定。我承认这里似乎有问题,因为我可以复制您的问题,但您也可以计算过程中的失败次数,并设置阈值以防止您的问题。如果您在一台计算机上失败,然后,我建议停止进程并通知用户出现错误。我建议不要将纯文本密码作为参数传递给函数。关于如何验证runas命令中的用户是有效的域帐户,您有什么意见吗?说清楚,我仍然需要这两种情况的答案。因为当在多台计算机上运行时,如果密码输入不正确,并且出现了太多失败的身份验证尝试,则用户帐户将被锁定。我承认这里似乎有问题,因为我可以复制您的问题,但您也可以计算过程中的失败次数,并设置阈值以防止您的问题。如果您在一台计算机上失败,然后我建议停止进程并通知用户有错误。