Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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 - Fatal编程技术网

Powershell 如何创建用户

Powershell 如何创建用户,powershell,Powershell,我正试图使用此脚本创建大量用户,但它给了我一个错误: New-ADUser : Access is denied At C:\Users\admin\Desktop\2272_logon.ps1:30 char:2 + New-ADUser $_.Name -SamAccountName $_.SamAccountName -Path $PATH ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我正试图使用此脚本创建大量用户,但它给了我一个错误:

New-ADUser : Access is denied
At C:\Users\admin\Desktop\2272_logon.ps1:30 char:2
+     New-ADUser  $_.Name -SamAccountName $_.SamAccountName -Path $PATH ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (CN=Raymond_F_Gu...innesota,dc=edu:String) [New-ADUser 
   ], UnauthorizedAccessException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.UnauthorizedAccessException,Microsoft.Activ 
   eDirectory.Management.Commands.NewADUser    
有一个csv文件,我从中获取数据。这是它的代码。下面是csv文件中一些数据的示例 姓氏、姓氏、中间名、部门、街道地址、城市、州、邮政编码、吉文名、mi、姓氏、员工ID、OU、DC1、DC2、DC3、SamAccountName、length-max-20、姓名、用户名、用户名、显示名、电子邮件地址、新密码、说明、group01、Gsamid01、GroupCategory01、GroupScope01、GDisplayName01、GDDescription01、group02、Gsamid02、GroupCategory02、GroupScope02、,GDisplayName02,GDDescription02,Office,OfficePhone,HomePhone,MobilePhone,Fax,主页,标题,部门,部门,公司,员工编号,经理,HomeDirectory,HomeDrive,StreetAddress,POBox,PostalCode,Country,AccountNotDelegate,AllowVersionablePasswordEncryption,CannotChangePasswordAtlogon,Enabled,Organization,PasswordNeverExpires,PasswordNotRequired,SmartCardlogonRequired,Trusted ForDelegation,AccountExpirationDate,Set_expire,group03,Gsamid03,GroupCategory03,GroupScope03,GDisplayName03,GDisplayName03,group04,GDisplayName04,GDisplayName04,GDescription04,OldPassword,Add,Certificates,Clear,缩写,LogonWorkstations,OtherName,ProfilePath,Remove,Replace,脚本路径、ServicePrincipalNames、身份验证类型、凭据、分区、通过、服务器、确认、什么 格兹曼,雷蒙德,F,德尔塔,5000西国家大道,密尔沃基,威斯康星州,53295-4000,雷蒙德,F,格兹曼,301,泽农,梅特,明尼苏达州,埃杜,301泽农,8,雷蒙德,格兹曼,雷蒙德_Guzman@mait.minnesota.edu,雷蒙德F古兹曼,雷蒙德F_Guzman@mait.minnesota.edu,Si&mple+90,虚拟学生,人物,人物网络,安全,全球,人物,此组的成员可以访问共享、Delta、DeltaZenon、Security、Global、Delta,这是一个愚蠢的组名B162218.299.7000218.299.8000218.299.9000218.299.1000,http://brazil.minnesota.edu,低于平均水平的学生,愚蠢,IT,密歇根州立大学,501,preuss@mait.example.org,\chile\Zenonhome\Raymond_F_Guzman,h:,美国西国家大道5000号,邮编:53295-4000,FALSE,FALSE,FALSE,TRUE,Acme,FALSE,FALSE,FALSE,TRUE,5/5/2021 22:01,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用 威斯康星州密尔沃基西国家大道5000号格瓦兹达,兰伯特,C,三角洲,邮编:53295-4000,兰伯特,0,格瓦兹达,明尼苏达州梅特泽农302号,兰伯特,埃杜,302泽农,兰伯特__Gwiazda@mait.minnesota.edu,兰伯特0 Gwiazda,兰伯特__Gwiazda@mait.minnesota.edu,Si&mple+91,虚拟学生,人物,人物,安全,全球,人物,此组的成员可以访问共享、Delta、DeltaZenon、Security、Global、Delta,这是一个愚蠢的组名B163218.299.7000218.299.8000218.299.9000218.299.1000,http://brazil.minnesota.edu,低于平均水平的学生,愚蠢,IT,Mstate,502,preuss@mait.example.org,\chile\Zenonhome\Lambert__Gwiazda,h:,美国西国家大道5000号,邮编:53295-4000,FALSE,FALSE,FALSE,TRUE,Acme,FALSE,FALSE,FALSE,TRUE,5/5/2021 22:01,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用,未使用 佐治亚州密尔沃基西国家大道5000号,约翰东区,三角洲,邮编:53295-4000_Gyles@mait.minnesota.edu,约翰·E·盖尔斯,约翰·E_Gyles@mait.minnesota.edu,Si&mple+92,虚拟学生,人物,人物,安全,全球,人物,此组的成员可以访问共享,Delta,DeltaZenon,安全,全球,德尔塔,这是一个愚蠢的组名,B164218.299.7000218.299.8000218.299.9000218.299.1000,http://brazil.minnesota.edu,低于平均水平的学生,愚蠢,IT,密歇根州立大学,503,preuss@mait.example.org,\chile\Zenonhome\John_E_Gyles,h:,美国西国家大道5000号,53295-4000,假,假,假,真,Acme,假,假,假,假,假,假,真,2021年5月5日22:01,,unused,unusedZenon,Security,Global,unusedZenon,Security,Global,unused,More no name组,unused,unused,unused,unused,unused,unused,unused,unused,unused,unused,unused,unused 佐治亚州密尔沃基西国家大道5000号吉罗,詹姆士,吉罗,达尔塔,邮编:53295-4000,詹姆士,吉罗,304,泽农,梅特,明尼苏达州,埃杜,304Zenon,8,詹姆士,吉罗,詹姆士。Gyuro@mait.minnesota.edu,詹姆斯·F·久罗,詹姆斯·F。Gyuro@mait.minnesota.edu,Si&mple+93,虚拟学生,人物,人物,人物,安全,全球,人物,此组的成员可以访问共享,Delta,DeltaZenon,安全,全球,Delta,这是一个愚蠢的组名,B165218.299.7000218.299.8000218.299.9000218.299.299.1000,http://brazil.minnesota.edu,低于平均水平的学生,愚蠢,IT,麻省理工大学,504,preuss@mait.example.org,\chile\Zenonhome\James_F.Gyuro,h:,美国西国家大道5000号,53295-4000,假,假,假,真,Acme,假,假,假,假,假,假,真,2021年5月5日22:01,,unused,unusedZenon,Security,Global,unusedZenon,Security,Global,unused,More no name组,unused,unused,unused,unused,unused,unused,unused,unused,unused,unused,unused,unused 佐治亚州密尔沃基西国家大道5000号三角洲吉罗,詹姆斯,F,吉罗,305,明尼苏达州梅特市泽农,邮编:305Zenon,邮编:8,詹姆士,吉罗,邮编:53295-4000_Gyuro@mait.minnesota.edu,詹姆士F久罗,詹姆士F_Gyuro@mait.minnesota.edu,Si&mple+94,虚拟学生,人物,人物,人物,安全,全球,人物,此组的成员可以访问共享,Delta,DeltaZenon,安全,全球,Delta,这是一个愚蠢的组名,B166218.299.7000218.299.8000218.299.9000218.299.299.1000,http://brazil.minnesota.edu,低于平均水平的学生,愚蠢,IT,麻省理工大学,505,preuss@mait.example.org,\chile\Zenonhome\James_F_Gyuro,h:,美国西国家大道5000号,53295-4000,假,假,假,真,Acme,假,假,假,假,假,假,真,2021年5月5日22:01,未使用,联合国大学
Import-Module ActiveDirectory

Import-csv .\2272_logon_data.csv | ForEach-Object {
    # This will set some variables
    $PATH01 = "dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3
    $PATH02 = "ou=" + $_.OU + ",dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3

    $ID01= "cn=" + $_.Name + ",ou=" + $_.OU + ",dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3
    $ID02= "cn=" + $_.Name02 + ",ou=" + $_.OU + ",dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3

    $GROUPDN01="cn=" + $_.Group01 + ",ou=" + $_.OU + ",dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3
    $GROUPDN02="cn=" + $_.Group02 + ",ou=" + $_.OU + ",dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3    
    $GROUPDN03="cn=" + $_.Group03 + ",ou=" + $_.OU + ",dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3
    $GROUPDN04="cn=" + $_.Group04 + ",ou=" + $_.OU + ",dc=" + $_.DC1 + ",dc=" + $_.DC2 + ",dc=" + $_.DC3

    
    # This will create the new logons
    New-ADUser  $_.Name -SamAccountName $_.SamAccountName -Path $PATH02

    # This modifies the new logons
    Set-ADUser $ID01 -AccountExpirationDate $_.AccountExpirationDate
    Set-ADuser $ID01 -AccountNotDelegated   ([System.Convert]::ToBoolean($_.AccountNotDelegated)) 
    Set-ADuser $ID01 -AllowReversiblePasswordEncryption  ([System.Convert]::ToBoolean($_.AllowReversiblePasswordEncryption))
    #Set-ADuser $ID01 -AuthType $_.AuthType
    Set-ADuser $ID01 -CannotChangePassword  ([System.Convert]::ToBoolean($_.CannotChangePassword))
    #Set-ADuser $ID01 -Certificates $_.Certificates
    Set-ADuser $ID01 -ChangePasswordAtLogon  ([System.Convert]::ToBoolean($_.ChangePasswordAtLogon))
    Set-ADuser $ID01 -City $_.City
    #Set-ADuser $ID01 -Clear $_.Clear
    Set-ADuser $ID01 -Company $_.Company
    #Set-ADuser $ID01 -Confirm $_.Confirm
    Set-ADuser $ID01 -Country $_.Country
    #Set-ADuser $ID01 -Credential $_.Credential
    Set-ADuser $ID01 -Department $_.Department
    Set-ADuser $ID01 -Description $_.Description
    Set-ADuser $ID01 -DisplayName $_.DisplayName
    Set-ADuser $ID01 -Division $_.Division
    Set-ADuser $ID01 -EmailAddress $_.EmailAddress
    Set-ADuser $ID01 -EmployeeID $_.EmployeeID
    Set-ADuser $ID01 -EmployeeNumber $_.EmployeeNumber
    Set-ADuser $ID01 -Fax $_.Fax
    Set-ADuser $ID01 -GivenName $_.GivenName
    Set-ADuser $ID01 -HomeDirectory $_.HomeDirectory
    Set-ADuser $ID01 -HomeDrive $_.HomeDrive
    Set-ADuser $ID01 -HomePage $_.HomePage
    Set-ADuser $ID01 -HomePhone $_.HomePhone
    # Set-ADuser $ID01 -Initials $_.Initials
    # Set-ADuser $ID01 -LogonWorkstations $_.LogonWorkstations
    Set-ADuser $ID01 -Manager $_.Manager
    Set-ADuser $ID01 -MobilePhone $_.MobilePhone
    Set-ADuser $ID01 -Office $_.Office
    Set-ADuser $ID01 -OfficePhone $_.OfficePhone
    Set-ADuser $ID01 -Organization $_.Organization
    # Set-ADuser $ID01 -OtherName $_.OtherName
    # Set-ADuser $ID01 -Partition $_.Partition
    # Set-ADuser $ID01 -PassThru $_.PassThru
    Set-ADuser $ID01 -PasswordNeverExpires  ([System.Convert]::ToBoolean($_.PasswordNeverExpires))
    Set-ADuser $ID01 -PasswordNotRequired  ([System.Convert]::ToBoolean($_.PasswordNotRequired))
    #Set-ADuser $ID01 -POBox $_.POBox
    Set-ADuser $ID01 -PostalCode $_.PostalCode
    # Set-ADuser $ID01 -ProfilePath $_.ProfilePath
    # Set-ADuser $ID01 -Remove $_.Remove
    # Set-ADuser $ID01 -Replace $_.Replace
    #Set-ADuser $ID01 -ScriptPath $_.ScriptPath
    #Set-ADuser $ID01 -ServicePrincipalNames $_.ServicePrincipalNames
    Set-ADuser $ID01 -SmartCardlogonRequired  ([System.Convert]::ToBoolean($_.SmartCardlogonRequired))
    Set-ADuser $ID01 -State $_.State
    Set-ADuser $ID01 -StreetAddress $_.StreetAddress
    Set-ADuser $ID01 -Surname $_.Surname
    Set-ADuser $ID01 -Title $_.Title
    #Set-ADuser $ID01 -TrustedForDelegation  ([System.Convert]::ToBoolean($_.TrustedForDelegation))
    Set-ADuser $ID01 -UserPrincipalName $_.UserPrincipalName
    # Set-ADuser $ID01 -Whatif $_.Whatif

    # This section creates the groups
    New-ADGroup -Name $_.group01 -SamAccountName $_.Gsamid01 -GroupCategory $_.GroupCategory01 -GroupScope $_.GroupScope01 -DisplayName $_.GDisplayName01 -Path $PATH02 -Description $_.GDescription01
    New-ADGroup -Name $_.group02 -SamAccountName $_.Gsamid02 -GroupCategory $_.GroupCategory02 -GroupScope $_.GroupScope02 -DisplayName $_.GDisplayName02 -Path $PATH02 -Description $_.GDescription02
    #New-ADGroup -Name $group03 -SamAccountName $_.Gsamid01 -GroupCategory $_.GroupCategory01 -GroupScope $_.GroupScope01 -DisplayName $_.GDisplayName01 -Path $PATH02 -Description $_.GDescription01
    #New-ADGroup -Name $group04 -SamAccountName $_.Gsamid01 -GroupCategory $_.GroupCategory01 -GroupScope $_.GroupScope01 -DisplayName $_.GDisplayName01 -Path $PATH02 -Description $_.GDescription01
 

    # This section sets the group memberships
    Add-ADGroupMember $GROUPDN01 -Members $ID01
    Add-ADGroupMember $GROUPDN02 -Members $ID01
    #Add-ADGroupMember $GROUPDN03 -Member $ID01
    #Add-ADGroupMember $GROUPDN04 -Member $ID01

    # This section sets the password and enables the account
    Set-ADAccountPassword $ID01 -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $_.NewPassword -Force)
    Set-ADuser $ID01 -Enabled   ([System.Convert]::ToBoolean($_.Enabled))

    }

# http://blog.danskingdom.com/allow-others-to-run-your-powershell-scripts-from-a-batch-file-they-will-love-you-for-it/

# If running in the console, wait for input before closing.
if ($Host.Name -eq "ConsoleHost")
{
    Write-Host "Press any key to continue..."
    $Host.UI.RawUI.FlushInputBuffer()   # Make sure buffered input doesn't "press a key" and skip the ReadKey().
    $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp") > $null
}