PowerShell/Système/Profil
Aller à la navigation
Aller à la recherche
PowerShell et les profils utilisateurs.
Liste des profils utilisateurs stockés dans le dossier C:\Users\
<#
Nom : néant
Description : liste des profils utilisateurs stockés dans le dossier C:\Users\
Usage : exercice en PowerShell
Particularité : néant
Auteur : fylip22
Version : 1.0
Révisions :
- 1.0 (01/11/2023) : création du script
#>
# liste de postes sous forme de fichier à compléter
# $posteListeFichier = "c:\outil\script\del-poste-profil.csv"
# $posteListe = Get-Content -Path $posteListeFichier
# liste de postes sous forme de liste créée ; ici création d'une liste des postes FID001 à FID150
$posteListe = (1..150).ForEach({ "{0}{1:d3}" -f "FID", $_})
$cheminRacine = "\c$\users\"
Clear-Host
Write-Host "Liste des postes avec les dossiers profils"
Write-Host "------------------------------------------"
foreach ($poste in $posteListe) {
$cheminPoste = "\\"+$poste+$cheminRacine
$listeProfil = Get-ChildItem -path $cheminPoste -ErrorAction Ignore | Sort-Object Name | Select-Object Name
$listeAffichage = $listeProfil.name -join ";"
Write-Host $poste";"$listeAffichage
}
Write-Host "= = Traitement terminé = ="
Création d'un compte local avec certains groupes de sécurité
# création du compte local "recupe" ; script compacte
$compte = 'recupe' ; $parametreListe=@{Name=$compte ; Password=(ConvertTo-SecureString "monmotdepasse" -AsplainText -Force) ; FullName=$compte;Description=$compte+' migration 2024' ; AccountNeverExpires=$true ; PasswordNeverExpires=$true}
New-LocalUser @parametreListe ; Add-LocalGroupMember -Group "Administrateurs" -Member $compte ; Add-LocalGroupMember -Group "Utilisateurs du Bureau à distance" -Member $compte
Suppression des dossiers profils utilisateurs, sauf certains
# suppression des dossiers profils utilisateurs, sauf ceux spéciaux, et ceux sauf ceux dont une session est active
Get-WmiObject -Class Win32_UserProfile | Where-Object {($_.special -eq $false) -and ($_.Loaded -eq $false)} | foreach {$_.delete()}
# suppression des dossiers profils utilisateurs, sauf ceux listés, ceux spéciaux, et ceux dont une session est active
[System.Collections.ArrayList]$profilAConserver=@("C:\Users\dupondp") ; Get-WmiObject -Class Win32_UserProfile | Where-Object {($_.special -eq $false) -and ($_.Loaded -eq $false) -and ($_.localpath -notin $profilAConserver)} | foreach {$_.delete()}
Création d'un dossier
# création du dossier "C:\archive\"
$chemin = "C:\" ; $dossierNom = "Archive" ; Clear-Host ; If(-not(Test-Path -Path $chemin$dossierNom)) {New-Item -ItemType Directory -Path $chemin -Name $dossierNom ; Write-Host "Le dossier $chemin$dossierNom vient d'être créé" -ForegroundColor Green} Else{Write-Host "Le dossier $chemin$dossierNom existe déjà !" -ForegroundColor Red}
Désinstallation de Microsoft Internet Explorer
# désinstallation de Microsoft Internet Explorer Disable-WindowsOptionalFeature -FeatureName Internet-Explorer-Optional-amd64 –Online -NoRestart