<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://kono.phpage.fr/index.php?action=history&amp;feed=atom&amp;title=PowerShell%2FUtilisateur</id>
	<title>PowerShell/Utilisateur - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://kono.phpage.fr/index.php?action=history&amp;feed=atom&amp;title=PowerShell%2FUtilisateur"/>
	<link rel="alternate" type="text/html" href="https://kono.phpage.fr/index.php?title=PowerShell/Utilisateur&amp;action=history"/>
	<updated>2026-10-25T13:00:35Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://kono.phpage.fr/index.php?title=PowerShell/Utilisateur&amp;diff=4848&amp;oldid=prev</id>
		<title>Fylip22 : Page créée avec « {{Sommaire}}  == Serveur RDS, liste des dossiers &quot;users&quot; == Liste des dossiers &lt;source inline&gt;c:\users\compte\&lt;/source&gt; et &lt;source inline&gt;c:\users\local_compte\&lt;/source&gt; sur chaque RDS (de 01 à 20) : &lt;source&gt; &lt;# Nom           : PSHUTL001 Description   : liste des dossiers de profil utilisateur de bureau distant présents sur les serveurs RDS  Usage         : à lancer depuis un des serveurs RDS ; saisir le nom du compte à analyser Particularité : néant Auteur... »</title>
		<link rel="alternate" type="text/html" href="https://kono.phpage.fr/index.php?title=PowerShell/Utilisateur&amp;diff=4848&amp;oldid=prev"/>
		<updated>2024-08-13T15:48:30Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « {{Sommaire}}  == Serveur RDS, liste des dossiers &amp;quot;users&amp;quot; == Liste des dossiers &amp;lt;source inline&amp;gt;c:\users\compte\&amp;lt;/source&amp;gt; et &amp;lt;source inline&amp;gt;c:\users\local_compte\&amp;lt;/source&amp;gt; sur chaque RDS (de 01 à 20) : &amp;lt;source&amp;gt; &amp;lt;# Nom           : PSHUTL001 Description   : liste des dossiers de profil utilisateur de bureau distant présents sur les serveurs RDS  Usage         : à lancer depuis un des serveurs RDS ; saisir le nom du compte à analyser Particularité : néant Auteur... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Sommaire}}&lt;br /&gt;
&lt;br /&gt;
== Serveur RDS, liste des dossiers &amp;quot;users&amp;quot; ==&lt;br /&gt;
Liste des dossiers &amp;lt;source inline&amp;gt;c:\users\compte\&amp;lt;/source&amp;gt; et &amp;lt;source inline&amp;gt;c:\users\local_compte\&amp;lt;/source&amp;gt; sur chaque RDS (de 01 à 20) :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
Nom           : PSHUTL001&lt;br /&gt;
Description   : liste des dossiers de profil utilisateur de bureau distant présents sur les serveurs RDS &lt;br /&gt;
Usage         : à lancer depuis un des serveurs RDS ; saisir le nom du compte à analyser&lt;br /&gt;
Particularité : néant&lt;br /&gt;
Auteurs       : fylip22&lt;br /&gt;
Version       : 1.0&lt;br /&gt;
Révisions     :&lt;br /&gt;
              - 1.0 (24/08/2023) : création du script&lt;br /&gt;
              - 1.1 (09/02/2024) : modification pour l&amp;#039;affichage des étapes&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Liste des dossiers &amp;quot;users&amp;quot; sur tous les serveurs RDS :&lt;br /&gt;
Clear-Host&lt;br /&gt;
Write-Host &amp;quot;Liste des dossiers Users sur tous les serveurs RDS&amp;quot;&lt;br /&gt;
Write-Host &lt;br /&gt;
&lt;br /&gt;
$Compte = Read-Host &amp;quot;Saisir le nom d&amp;#039;un compte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# création de la liste des serveurs RDS à analyser : PHPRDS01 à PHPRDS20&lt;br /&gt;
$RDSListe = (1..20).ForEach({ &amp;quot;{0}{1:d2}&amp;quot; -f &amp;quot;PHPRDS&amp;quot;, $_ })&lt;br /&gt;
&lt;br /&gt;
Write-Host &lt;br /&gt;
Write-Host (&amp;quot;Test du serveur {0} au serveur {1} :&amp;quot; -f $RDSListe[0], $RDSListe[-1])&lt;br /&gt;
&lt;br /&gt;
foreach ($RDS in $RDSListe) {&lt;br /&gt;
    $cheminCompte = &amp;quot;\\$RDS\c$\users\$Compte&amp;quot;&lt;br /&gt;
    $cheminLocal_Compte = &amp;quot;\\$RDS\c$\users\local_$Compte&amp;quot;&lt;br /&gt;
    if (Test-Path -Path $cheminCompte) {&lt;br /&gt;
        Write-Host (&amp;quot;{0}, présence du dossier &amp;#039;{1}&amp;#039;&amp;quot; -f $RDS, $Compte)&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    if (Test-Path -Path $cheminLocal_Compte) {&lt;br /&gt;
        Write-Host (&amp;quot;{0}, présence du dossier &amp;#039;local_{1}&amp;#039;&amp;quot; -f $RDS, $Compte)&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Write-Host &lt;br /&gt;
Write-Host &amp;quot;Fin du traitement&amp;quot;&lt;br /&gt;
Write-Host &lt;br /&gt;
Read-Host &amp;quot;Appuyer sur une touche pour continuer&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Liste des dossiers &amp;lt;source inline&amp;gt;c:\users\&amp;lt;/source&amp;gt; sur chaque RDS (de 01 à 13) :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
Nom           : PSHUTL002&lt;br /&gt;
Description   : liste des dossiers de profil utilisateur de bureau distant présents sur les serveurs RDS &lt;br /&gt;
Usage         : à lancer depuis un des serveurs RDS &lt;br /&gt;
Particularité : néant&lt;br /&gt;
Auteurs       : fylip22&lt;br /&gt;
Version       : 1.0&lt;br /&gt;
Révisions     :&lt;br /&gt;
              - 1.0 (20/02/2024) : création du script&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$RDSListe = (1..13).ForEach({ &amp;quot;{0}{1:d2}&amp;quot; -f &amp;quot;PHPRDS&amp;quot;, $_ })&lt;br /&gt;
$ListeTout = $null&lt;br /&gt;
&lt;br /&gt;
foreach ($RDS in $RDSListe) {&lt;br /&gt;
    $cheminCompte = &amp;quot;\\$RDS\c$\users\&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # ajoute chaque dossier trouvé à la liste&lt;br /&gt;
    $ListeTout += Get-ChildItem -Path $cheminCompte | Select-Object name &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
# Affichage du résultat, trié sur le nom&lt;br /&gt;
$ListeTout | Sort-Object name&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compte local ==&lt;br /&gt;
&lt;br /&gt;
=== Création ===&lt;br /&gt;
Création d&amp;#039;un compte local en manuel :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# liste des comptes locaux&lt;br /&gt;
Get-LocalUser&lt;br /&gt;
&lt;br /&gt;
# nom du compte&lt;br /&gt;
$compte = &amp;quot;Nomade&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Fenêtre de saisie pour le mot de passe&lt;br /&gt;
$Password = Read-Host -AsSecureString&lt;br /&gt;
&lt;br /&gt;
# Création du compte&lt;br /&gt;
New-LocalUser $compte -Password $Password -FullName $compte -Description $compte &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec un script&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
Nom         : PSHUTL003&lt;br /&gt;
Description : création d&amp;#039;un compte utilisateur local avec appartenance à deux groupes de sécurité&lt;br /&gt;
Usage       : exercice en PowerShell&lt;br /&gt;
Auteurs     : fylip22&lt;br /&gt;
Version     : 1.1&lt;br /&gt;
Révisions   :&lt;br /&gt;
    - 1.0 (01/12/2023) : création du script&lt;br /&gt;
    - 1.1 (24/04/2024) : personnalisation&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# liste les paramètres pour la création de l&amp;#039;utilisateur&lt;br /&gt;
$compte = &amp;#039;recupe&amp;#039;&lt;br /&gt;
$parametreListe = @{&lt;br /&gt;
    Name        = $compte&lt;br /&gt;
    Password    = (ConvertTo-SecureString &amp;quot;MonMotDePasse2023*&amp;quot; -AsplainText -Force)&lt;br /&gt;
    FullName    = $compte&lt;br /&gt;
    Description = &amp;#039;$compte temporaire&amp;#039;&lt;br /&gt;
    AccountNeverExpires = $true&lt;br /&gt;
    PasswordNeverExpires = $true&lt;br /&gt;
    }&lt;br /&gt;
New-LocalUser @parametreListe&lt;br /&gt;
&lt;br /&gt;
# ajout de l&amp;#039;utilisateur à différents groupes de sécurité locaux&lt;br /&gt;
Add-LocalGroupMember -Group &amp;quot;Administrateurs&amp;quot; -Member $compte&lt;br /&gt;
Add-LocalGroupMember -Group &amp;quot;Utilisateurs du Bureau à distance&amp;quot; -Member $compte&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Suppression ===&lt;br /&gt;
Suppression d&amp;#039;un compte local en manuel :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Remove-LocalUser -Name &amp;quot;nomade&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avec un script&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
Nom         : PSHUTL004&lt;br /&gt;
Description : suppression d&amp;#039;un compte utilisateur local &lt;br /&gt;
Usage       : exercice en PowerShell&lt;br /&gt;
Auteur      : fylip22&lt;br /&gt;
Version     : 1.1&lt;br /&gt;
Révisions   :&lt;br /&gt;
    - 1.0 (01/12/2023) : création du script&lt;br /&gt;
    - 1.1 (24/04/2024) : personnalisation&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clear-Host&lt;br /&gt;
&lt;br /&gt;
$compteASupprimer = &amp;quot;recupe&amp;quot;&lt;br /&gt;
if (Get-LocalUser -name &amp;quot;$compteASupprimer&amp;quot; -ErrorAction Ignore) {&lt;br /&gt;
    Remove-LocalUser -Name &amp;quot;$compteASupprimer&amp;quot;&lt;br /&gt;
    Write-Output &amp;quot;Compte &amp;#039;$compteASupprimer&amp;#039; supprimé&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
else {&lt;br /&gt;
    Write-Output &amp;quot;Le compte &amp;#039;$compteASupprimer&amp;#039; n&amp;#039;existe pas&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
# Liste des comptes locaux&lt;br /&gt;
Get-LocalUser&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Groupe et utilisateur ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Explication !! Code&lt;br /&gt;
|-&lt;br /&gt;
| Liste des utilisateurs du groupe de sécurité &amp;lt;code&amp;gt;PhpCompta&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;source inline&amp;gt;Get-ADGroupMember -Identity PhpCompta | sort-object name | ft name&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%&amp;quot; | Création de l&amp;#039;utilisateur &amp;quot;nomade&amp;quot;, sans mot de passe :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;New-LocalUser -fullname &amp;#039;MonCompte&amp;#039; -Name &amp;#039;nomade&amp;#039; -noPassword&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Modification de l&amp;#039;utilisateur &amp;quot;nomade&amp;quot;, modification mot de passe :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;get-localuser -name &amp;#039;MonCompte&amp;#039; | set-localuser -Password (ConvertTo-SecureString &amp;quot;MonMotDePasse1234*&amp;quot; -AsplainText -Force)&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Modification de l&amp;#039;utilisateur &amp;quot;nomade&amp;quot;, pas d&amp;#039;expiration du mot de passe :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;get-localuser -name &amp;#039;MonCompte&amp;#039; | set-localuser -PasswordNeverExpires $true&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Modification de l&amp;#039;utilisateur &amp;quot;nomade&amp;quot;, l&amp;#039;utilisateur ne peut pas modifier le mot de passe :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;get-localuser -name &amp;#039;MonCompte&amp;#039; | set-localuser -UserMayChangePassword $false&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ajout de l&amp;#039;utilisateur &amp;quot;nomade&amp;quot; au groupe de sécurité local &amp;quot;Utilisateurs&amp;quot; :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;get-localuser -name &amp;#039;MonCompte&amp;#039; | Add-LocalGroupMember &amp;#039;Utilisateurs&amp;#039;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Liste des utilisateurs du groupe local &amp;quot;Utilisateurs du Bureau à distance&amp;quot; :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;Get-LocalGroupMember -Group &amp;#039;Utilisateurs du bureau à distance&amp;#039;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Création de groupe de sécurité :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;New-ADGroup &amp;quot;PhpCompta&amp;quot; -Description &amp;quot;Accès dossier bureautique K:\Compta&amp;quot; -Path &amp;quot;OU=Compta,DC=php,dc=local&amp;quot; -GroupCategory Security -GroupScope Global&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ajout d&amp;#039;utilisateurs ou de groupe d&amp;#039;utilisateur au groupe local &amp;quot;Utilisateurs du Bureau à distance&amp;quot; :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;Add-LocalGroupMember -Group &amp;#039;utilisateurs du bureau à distance&amp;#039; -Member (&amp;#039;groupe1&amp;#039; , &amp;#039;Admins du domaine&amp;#039;)&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;source inline&amp;gt;Add-LocalGroupMember -Group &amp;#039;utilisateurs du bureau à distance&amp;#039; -Member &amp;#039;test&amp;#039;&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Suppression d&amp;#039;utilisateurs ou de groupe d&amp;#039;utilisateur du groupe local &amp;quot;Utilisateurs du Bureau à distance&amp;quot; :&lt;br /&gt;
| &amp;lt;source inline&amp;gt;Remove-LocalGroupMember -Group &amp;#039;utilisateurs du bureau à distance&amp;#039; -member &amp;#039;test&amp;#039;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Liste des groupes d&amp;#039;un utilisateur, affichage avec séparateur point-virgule :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
$compte = &amp;quot;martina&amp;quot;&lt;br /&gt;
(Get-ADUser $compte –Properties MemberOf).memberof | Get-ADGroup | Select-Object name | Sort-Object name | ForEach-Object {write-host -NoNewLine &amp;quot;$($_.name);&amp;quot;}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Affectation de plusieurs groupes à un utilisateur :&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
$user = &amp;quot;uncompte&amp;quot;&lt;br /&gt;
   # affectation des groupes standards&lt;br /&gt;
$groupes = @(&amp;quot;phpcompta&amp;quot;, &amp;quot;phpgaec&amp;quot;, &amp;quot;phpgerant&amp;quot;&amp;quot;)&lt;br /&gt;
foreach ($groupe in $groupes) {&lt;br /&gt;
    Add-AdGroupMember -Identity $groupe -members $user&lt;br /&gt;
    }&lt;br /&gt;
   # affectation des groupes spécifiques&lt;br /&gt;
$groupeutilisateur =@(&amp;quot;phpcompta&amp;quot; ,&amp;quot;capcompta&amp;quot;)&lt;br /&gt;
foreach ($groupe in $groupeutilisateur) {&lt;br /&gt;
    Add-AdGroupMember -Identity $groupe -members $user&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ménage sur profil itinérant (FSLogix) ==&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
Description : suppression des fichiers et dossiers du profil itinérant&lt;br /&gt;
Usage       : à lancer depuis le serveur RDS où la session du profil à nettoyer est ouverte&lt;br /&gt;
Particularité : ne traite que les fichiers datant de plus de deux jours ; voir la variable&lt;br /&gt;
Auteurs     : fylip22&lt;br /&gt;
Version     : 1.0&lt;br /&gt;
Révisions   :&lt;br /&gt;
              - 1.0 (24/08/2023) : création du script&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Nom du compte à traiter&lt;br /&gt;
$Compte = &amp;quot;lecompte&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Ancienneté des fichiers à traiter&lt;br /&gt;
$FichierAnciennete = 2&lt;br /&gt;
&lt;br /&gt;
# Liste des dossiers à traiter (ces dossiers sont les plus volumineux en nombre et en taille de fichiers)&lt;br /&gt;
$DossierListe = @(&lt;br /&gt;
    &amp;quot;C:\users\$compte\AppData\LocalLow\Adobe\Acrobat\DC\ConnectorIcons&amp;quot;,&lt;br /&gt;
    &amp;quot;C:\users\$compte\AppData\Local\Microsoft\Edge\User Data\Default\Cache\Cache_Data&amp;quot;,&lt;br /&gt;
    &amp;quot;C:\users\$compte\AppData\Local\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage&amp;quot;,&lt;br /&gt;
    &amp;quot;C:\Users\$compte\AppData\Local\Microsoft\Outlook\RoamCache&amp;quot;,&lt;br /&gt;
    &amp;quot;C:\users\$compte\AppData\Local\Microsoft\Terminal Server Client\Cache&amp;quot;,&lt;br /&gt;
    &amp;quot;C:\users\$compte\AppData\Local\Microsoft\Windows\INetCache\Content.MSO&amp;quot;,&lt;br /&gt;
    &amp;quot;C:\users\$compte\AppData\Local\Microsoft\Windows\INetCache\IE&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Foreach ($Dossier in $DossierListe) {&lt;br /&gt;
    Get-ChildItem -path $Dossier | &lt;br /&gt;
        Where { ($_.CreationTime -lt (Get-Date).addDays(-$FichierAnciennete)) -and ($_.LastWriteTime -lt (Get-Date).addDays(-$FichierAnciennete))} | &lt;br /&gt;
        Remove-Item -Recurse -Force&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Voir aussi ==&lt;br /&gt;
* &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:PowerShell]]&lt;/div&gt;</summary>
		<author><name>Fylip22</name></author>
	</entry>
</feed>