0

ADへのユーザーの追加を簡単にするための小さなスクリプトに取り組んでいます。これは、入力を要求する1行のNew-ADUserPowerShellスクリプトです。次のようになります。

New-ADUser -Name (Read-Host "User Name") -AccountExpirationDate 0 -CannotChangePassword 1 -ChangePasswordAtLogon 0 -PasswordNeverExpires 1 -Company (Read-Host "Company") -Department (Read-Host "Department") -Title (Read-Host "Title") -Manager (Read-Host "Manager's User Name") -GivenName (Read-Host "Full Name") -MobilePhone (Read-Host "Cell Phone Number") -State (Read-Host "State") -AccountPassword (Read-Host -AsSecureString "Password") -ProfilePath (Read-Host "Roaming Profile Path") -Path (Read-Host "AD Path to User")

必要なものすべてを要求しますが、すべてを入力すると、「New-ADUser:有効なWin32 FileTimeではありません。行:1char:11」が返されます。コマンドでその場所(「New-ADUser」の後のスペース)を確認しましたが、なぜそれが返されるのかわかりません。

これは私がやりたいことを行うための効率的な方法ですか?エラーを返さないようにコマンドを修正するにはどうすればよいですか?それは私がスポットに入力しているものですか?

4

2 に答える 2

4

変更する必要があります:

-AccountExpirationDate 0

-AccountExpirationDate $null

または、有効期限が切れていないアカウントにこのパラメータを設定することはできません。

このtechnetページにエラーがあります。

于 2012-10-15T18:45:05.217 に答える
0

Windows Server 2016の場合、上記の問題が存在し、上記の解決策は(完全に)機能しません。

回避策を見つけました。

はい、上記のTechnetページにエラーがあります。残念ながら、その結果、PowerShellスクリプトシステムでスクリプトの解析に問題が発生します。

したがって、-エラー#1-パラメータNew-ADUserとしてで指定されたコマンドを使用すると、エラーが発生します0New-ADUser : Not a valid win32 FileTime.

に変更0すると$null、エラー#2-が発生します。The term '(the next parameter in your command)' is not recognized as the name of a cmdlet, function

私は問題を完全に解決するために次の解決策を見つけました:

  1. 変更(上記のように)-AccountExpirationDate $null

  2. このパラメータを最後のパラメータに移動してください!そうしないと、次の項目が正しく解析されないというエラーが発生します。パラメータが間違った色で表示されるIDEに注意してください。

于 2016-10-28T15:44:40.037 に答える