使用 PowerShell 创建 AD 用户并从 CSV 分配到组

问题描述 投票:0回答:1

我正在设置一个脚本来在我的广告上创建用户,但是我陷入了两件事:如何将用户添加到组中以及如何为每个映射到字母 P 的用户创建共享文件夹我将我的 csv 文件和我的脚本 我提前感谢您的反馈

Prenom  Nom Fonction    Ou
Karim   Fadil   ingénieur SI    OU=Informatique,DC=AXEPLANE,DC=LOC
Amine   Maldini Technicien  OU=Informatique,DC=AXEPLANE,DC=LOC
Malika  Malinek Dev OU=Informatique,DC=AXEPLANE,DC=LOC
Alberto Talkini Dev OU=Informatique,DC=AXEPLANE,DC=LOC
Bernardo    Lemina  agent   OU=Informatique,DC=AXEPLANE,DC=LOC
Akila   Fahmi   Technicien  OU=Informatique,DC=AXEPLANE,DC=LOC
Amira   Nafima  Technicien  OU=Informatique,DC=AXEPLANE,DC=LOC
`$CSVFile = "C:\Users\Utilisateurs.csv"
$CSVData = Import-CSV -Path $CSVFile -Delimiter ";" -Encoding UTF8 

Foreach($Utilisateur in $CSVData){

    $UtilisateurPrenom = $Utilisateur.Prenom
    $UtilisateurNom = $Utilisateur.Nom
    $UtilisateurLogin = ($UtilisateurPrenom).Substring(0,1) + "." + $UtilisateurNom
    $UtilisateurEmail = "[email protected]"
    $UtilisateurMotDePasse = "IT-Axeplane@2020"
    $UtilisateurFonction = $Utilisateur.Fonction
    $OU      = $Utilisateur.Ou
    

    # Vérifier la présence de l'utilisateur dans l'AD
    if (Get-ADUser -Filter {SamAccountName -eq $UtilisateurLogin})
    {
        Write-Warning "L'identifiant $UtilisateurLogin existe déjà dans l'AD"
    }
    else
    {
        New-ADUser -Name "$UtilisateurNom $UtilisateurPrenom" `
                    -DisplayName "$UtilisateurNom $UtilisateurPrenom" `
                    -GivenName $UtilisateurPrenom `
                    -Surname $UtilisateurNom `
                    -SamAccountName $UtilisateurLogin `
                    -UserPrincipalName "$U[email protected]" `
                    -EmailAddress $UtilisateurEmail `
                    -Title $UtilisateurFonction `
                    -Path $OU `
                    -AccountPassword(ConvertTo-SecureString $UtilisateurMotDePasse -AsPlainText -Force) `
                    -ChangePasswordAtLogon $true `
                    -Enabled $true

        Write-Output "Création de l'utilisateur : $UtilisateurLogin ($UtilisateurNom $UtilisateurPrenom)"
    }
    

}`

我一直坚持将用户添加到组中并创建映射到字母 P 的个人共享文件夹

谢谢你

powershell active-directory
1个回答
0
投票

我修改了您的脚本以包含

-HomeDirectory
-HomeDrive
参数。

我还包括了

Get-AdGroup
Add-AdGroupMember
。您的 CSV 中没有任何组详细信息,因此
Get-AdGroup
位于
foreach
循环之外。

$CSVFile = "C:\Users\Utilisateurs.csv"
$CSVData = Import-CSV -Path $CSVFile -Delimiter ";" -Encoding UTF8 


$GroupDn = "CN=MyGroup,OU=Groups,DC=AXEPLANE,DC=LOC
$Server = "dc01.axeplane.loc
$Group = Get-AdGroup -Identity $GroupDn -Server $Server


Foreach($Utilisateur in $CSVData){

    $UtilisateurPrenom = $Utilisateur.Prenom
    $UtilisateurNom = $Utilisateur.Nom
    $UtilisateurLogin = ($UtilisateurPrenom).Substring(0,1) + "." + $UtilisateurNom
    $UtilisateurEmail = "[email protected]"
    $UtilisateurMotDePasse = "IT-Axeplane@2020"
    $UtilisateurFonction = $Utilisateur.Fonction
    $OU = $Utilisateur.Ou
        
    $HomeDirectory = "\\path\to\share"
    $HomeDrive = "P:"
    

    # Vérifier la présence de l'utilisateur dans l'AD
    if (Get-ADUser -Filter {SamAccountName -eq $UtilisateurLogin})
    {
        Write-Warning "L'identifiant $UtilisateurLogin existe déjà dans l'AD"
    }
    else
    {
        $User = New-ADUser -Name "$UtilisateurNom $UtilisateurPrenom" `
                    -DisplayName "$UtilisateurNom $UtilisateurPrenom" `
                    -GivenName $UtilisateurPrenom `
                    -Surname $UtilisateurNom `
                    -SamAccountName $UtilisateurLogin `
                    -UserPrincipalName "[email protected]" `
                    -EmailAddress $UtilisateurEmail `
                    -Title $UtilisateurFonction `
                    -Path $OU `
                    -AccountPassword(ConvertTo-SecureString $UtilisateurMotDePasse -AsPlainText -Force) `
                    -ChangePasswordAtLogon $true `
                    -Enabled $true `
                    -HomeDirectory $HomeDirectory `
                    -HomeDrive $HomeDrive

        Add-AdGroupMember -Identity $Group -Members $User -Server $Server
        
        Write-Output "Création de l'utilisateur : $UtilisateurLogin ($UtilisateurNom $UtilisateurPrenom)"
    }
    

}`

警告:我还没有测试过该脚本。

这里是有关组成员身份的 Microsoft 文档的链接。他们正在使用

Get-AdUser
,但你正在使用
New-AdUser

https://learn.microsoft.com/en-us/powershell/module/activedirectory/add-adgroupmember?view=windowsserver2022-ps#example-3

© www.soinside.com 2019 - 2024. All rights reserved.