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