« PowerShell/Système/Profil » : différence entre les versions
Aller à la navigation
Aller à la recherche
m (→Exemple) |
m (→Référence) |
||
Ligne 32 : | Ligne 32 : | ||
} | } | ||
Write-Host "= = Traitement terminé = =" | Write-Host "= = Traitement terminé = =" | ||
</source> | |||
== Création d'un compte local avec certains groupes de sécurité == | |||
<source> | |||
# 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 | |||
</source> | |||
== Suppression des dossiers profils utilisateurs, sauf certains == | |||
<source> | |||
# 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()} | |||
</source> | |||
<source> | |||
# 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()} | |||
</source> | |||
== Création d'un dossier == | |||
<source> | |||
# 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} | |||
</source> | </source> | ||
Version du 24 mai 2024 à 20:44
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 $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}