Quelques scripts Powershell
Script Powershell pour les profils itinérants :
$OUpath = 'ou=Users,ou=Accounts,ou=Littoral1,dc=littoral1,dc=fr'
$Users = Get-ADUser -Filter 'enabled -eq $true' -SearchBase $OUpath -Properties ProfilePath | Select-Object Name, SamAccountName, ProfilePath
Foreach($User in $Users){
$ProfilePath = "\\CPD01\Profils_itinerants$\"
$Profilepath = $ProfilePath + $User.samaccountname
$HomeDirectory = "\\CPD01\Utilisateurs$\"
$Homedirectory = $HomeDirectory + $User.samaccountname
Set-ADUser $User.samaccountname -ProfilePath $ProfilePath -HomeDirectory $HomeDirectory -HomeDrive U
}
Script Powershell pour la création d'utilisateurs depuis un fichier CSV :
Import-Module ActiveDirectory
$Domain="@khroners.fr"
$UserOu="OU=Users,OU=Accounts,OU=Khroners,DC=khroners,DC=fr"
###Récupérer les identifiants d’administration d’un compte du domaine autorisé à créer des comptes AD :
$cred=Get-Credential
###Spécifier le nom d’un contrôleur de domaine sur lequel créer les comptes d’utilisateurs :
$DomainController = "DCO1"
###Spécifier le chemin d’accès au fichier CSV :
$PathCSV = "C:\Users\Administrateur\Desktop\Users.CSV"
###Importation des utilisateurs depuis le fichier CSV spécifié en paramètre :
$NewUsers = Import-Csv -path $PathCSV -delimiter ";"
$NewUsers | ForEach {
$Name = $_.nom+" "+$_.prenom
$GivenName = $_.nom
$sn = $_.prenom
$DisplayName = $Name
$sAMAccountName = $_.login
$Password = $_.mdp
$groupe = $_.groupe
###Création des utilisateurs dans Active Directory :
New-ADuser -GivenName $GivenName -Surname $sn -Name $Name -DisplayName $DisplayName -SamAccountName $sAMAccountName -Path "OU=Users,OU=Accounts,OU=Khroners,DC=khroners,DC=fr" -ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) -Enabled $true -PasswordNeverExpires $true
Get-ADGroup -SearchBase "OU=Groups,OU=Khroners,DC=khroners,DC=fr" -Filter "name -like '$groupe'" | Add-ADGroupMember -Members $sAMAccountName
}
Script Powershell pour ajouter un compte local sur l'ordinateur :
# Ajoute un compte dans la base locale du système
# à partir de la saisie du nom et de la description
$local=[ADSI]"WinNT://."
$nom=Read-Host -Prompt "Saisir un nom"
$description=Read-Host -Prompt "Saisir une description"
$Fullname=Read-Host -Prompt "Saisir le nom complet"
$compte=[ADSI]"WinNT://./$nom"
if (!$compte.path){
$utilisateur=$local.create("user",$nom)
$utilisateur.InvokeSet("Description",$description)
$utilisateur.InvokeSet("FullName",$FullName)
$utilisateur.CommitChanges()
Write-Host "$nom ajouté"
}
else{
Write-Host "$nom existe déjà"
}