有什么方法或方法可以弄清楚我的错误,以获得此命令的解决方案?

问题描述

我键入此Powershell命令

PS C:\Users\User>  new-aduser -name "Tracy Jones" -givenname "Tracy" -surname "Jones" -samaccountname "tjones" userprincipalname "tjones@adatum.com" -path "ou=marketing,dc=abc,dc=com" -accountpassword(-Read-Host -assecurestring "type password for user") -enables $true

它告诉我这种错误消息:

-Read-Host:术语“ -Read-Host”不被识别为cmdlet,函数,脚本文件或可操作文件名称 程序。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。

第1行:char:184

  • ...路径“ ou = marketing,dc = abc,dc = com” -accountpassword(-读取主机-assecu ...

  •                                                    ~~~~~~~~~~
    
    • CategoryInfo:ObjectNotFound:(-Read-Host:String)[],CommandNotFoundException

    • FullyQualifiedErrorId:CommandNotFoundException

解决方法

您可以尝试以下方法:

$pass=Read-Host -Prompt "Type password for user" -AsSecureString -Force
$user=@{
Name="Tracy Jones" 
givenname="Tracy" 
surname="Jones"
samaccountname="tjones" 
userprincipalname="[email protected]"
path="ou=marketing,dc=abc,dc=com"
accountpassword=$pass
enabled=$true
}
new-aduser @user
  • Read-Host在单独的变量和语句中。
  • Enables更正为Enabled
  • 完成对长cmdlet的喷涂
,

$ passvalue =读取主机-assecurestring“为用户键入密码”。在一个变量中获取密码,然后将其用作-accountpassword参数的值。