New-LocalUser:找不到接受参数'True'的位置参数

时间:2018-01-16 10:29:31

标签: powershell parameter-passing

我一直在关注this guide尝试编写一个PowerShell脚本来向Windows添加新的本地用户。

我需要用户名,姓名,说明和密码,并检查PasswordNeverExpiresUserMayNotChangePassword。我写了以下内容试图这样做:

$Password = Read-Host -AsSecureString -Prompt 'Create password for new user account:'
New-LocalUser -Name "NewUser" -FullName "New User" -Description "New Execution Account" -Password $Password -PasswordNeverExpires $true -UserMayNotChangePassword $true

但是,运行此操作时出现以下错误:

  

New-LocalUser:找不到接受的位置参数   论证'真'。在行:2 char:1
  + New-LocalUser -Name“NewUser”-FullName“New User”-Description“New ...
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo:InvalidArgument:(:) [New-LocalUser],ParameterBindingException
      + FullyQualifiedErrorId:PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewLocalUserCommand

如果有人能看到我出错的地方,我将非常感谢任何帮助或建议,谢谢!

1 个答案:

答案 0 :(得分:3)

最后两个参数是开关参数。您不需要将参数传递给它们。它足以简单地按原样提供它们。像这样:

$Password = Read-Host -AsSecureString -Prompt 'Create password for new user account:'
New-LocalUser -Name "NewUser" -FullName "New User" -Description "New Execution Account" -Password $Password -PasswordNeverExpires -UserMayNotChangePassword