【问题标题】:Is there any way or method to figure out my mistake to get solution for this command?有什么方法或方法可以找出我的错误以获取此命令的解决方案吗?
【发布时间】:2021-01-13 08:04:56
【问题描述】:

我输入这个 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、函数、脚本文件或可操作的名称 程序。检查名称的拼写,如果包含路径,请验证路径是否正确,然后重试。

在 line:1 char:184

  • ... 路径 "ou=marketing,dc=abc,dc=com" -accountpassword(-Read-Host -assecu ...

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

    • FullyQualifiedErrorId : CommandNotFoundException

【问题讨论】:

  • 您可能想在帐户密码后添加一个空格并删除 Read-Host 前面的破折号。但我不确定,是否支持以这种方式调用 Read-Host。也许您必须先阅读密码,然后在第二步调用 new-aduser

标签: powershell active-directory read-host


【解决方案1】:

$passvalue = Read-Host -assecurestring "输入用户密码"。获取变量中的密码,然后将其用作 -accountpassword 参数的值。

【讨论】:

    【解决方案2】:

    你可以试试这个:

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

    【讨论】:

    • Tracy 需要一个给定名称的开头引号字符 ;)
    • 哦@Theo 很抱歉在复制时出错,没有注意到,在这种情况下欢迎编辑
    • 这些事情发生了,尤其是现在我认为 SO 已经改变了语法荧光笔,因此几乎所有的 PowerShell 代码突然看起来几乎都是橄榄绿色的 cmets。小错误现在不再突出..
    猜你喜欢
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多