{"id":208357,"date":"2024-01-03T09:29:32","date_gmt":"2024-01-03T09:29:32","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/lister-tous-les-groupes-auxquels-un-utilisateur-appartient-powershell\/"},"modified":"2024-03-04T19:22:03","modified_gmt":"2024-03-04T19:22:03","slug":"lister-tous-les-groupes-auxquels-un-utilisateur-appartient-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/lister-tous-les-groupes-auxquels-un-utilisateur-appartient-powershell\/","title":{"rendered":"Comment dresser la liste de tous les groupes auxquels un utilisateur appartient avec PowerShell"},"content":{"rendered":"<p>Face \u00e0 l&rsquo;\u00e9volution rapide du secteur informatique, une gestion efficace des utilisateurs et une bonne compr\u00e9hension de leurs r\u00f4les restent essentielles pour assurer la s\u00e9curit\u00e9 et la performance de toute entreprise. Parmi les outils \u00e0 la disposition des professionnels de l&rsquo;informatique, les scripts PowerShell sont un excellent moyen d&rsquo;automatiser les t\u00e2ches. L&rsquo;un de ces scripts consiste \u00e0 <strong>dresser la liste de tous les groupes auxquels un utilisateur appartient<\/strong>.<\/p>\n<h2>Contexte<\/h2>\n<p>L&rsquo;appartenance \u00e0 un groupe d&rsquo;utilisateurs d\u00e9finit les droits et les autorisations dont dispose un utilisateur au sein d&rsquo;un r\u00e9seau. Au fur et \u00e0 mesure que l&rsquo;entreprise se d\u00e9veloppe, il devient de plus en plus important de garder une trace des ces groupes d&rsquo;utilisateurs. Cependant, cette op\u00e9ration peut \u00eatre fastidieuse et sujette \u00e0 des erreurs si elle est effectu\u00e9e manuellement. C&rsquo;est pourqoi notre script PowerShell est essentiel. Sp\u00e9cialement con\u00e7u pour r\u00e9pertorier tous les groupes dont un utilisateur est membre, ce script est d&rsquo;une valeur inestimable pour les professionnels de l&rsquo;informatique et les fournisseurs de services g\u00e9r\u00e9s (MSP). Il permet d&rsquo;\u00e9viter l&rsquo;attribution excessive de privil\u00e8ges et de renforcer la s\u00e9curit\u00e9 de l&rsquo;entreprise.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 4.0 -RunAsAdministrator\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    This will output the groups that the specified user belongs to.\r\n.DESCRIPTION\r\n    This will output the groups that the specified user belongs to.\r\n.EXAMPLE\r\n     -UserName \"Administrator\" -IsDomainUser\r\n    Will get the groups that the user Administrator belongs to in Active Directory.\r\n.EXAMPLE\r\n     -UserName \"Administrator\"\r\n    Will get the groups that the user Administrator belongs to on the machine it runs on.\r\n.EXAMPLE\r\n    PS C:&gt; Get-User-Membership.ps1 -UserName \"Administrator\"\r\n    Will get the groups that the user Administrator belongs to on the machine it runs on.\r\n.OUTPUTS\r\n    Output (PSCustomObject)\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2012\r\n    If you wish to interact with AD you will need to install RSAT with at least the AD feature.\r\n    Release Notes:\r\n    Initial Release\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n    Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n.COMPONENT\r\n    ManageUsers\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    # Specify one user\r\n    [Parameter(Mandatory = $false)]\r\n    [String]\r\n    $UserName,\r\n    # Modify Local User Membership\r\n    [Parameter(Mandatory = $false)]\r\n    [Switch]\r\n    $IsDomainUser\r\n)\r\n\r\nbegin {}\r\n\r\nprocess {\r\n    if (-not $IsDomainUser) {\r\n        # Get local machine groups\r\n        Get-LocalGroup | ForEach-Object {\r\n            $Group = $_.Name\r\n            # Get users in current group\r\n            # Check that $UserName is a member of this current group and output it to StdOut\/Write-Output\r\n            Get-LocalGroupMember -Group $Group | Where-Object { $_.Name -like \"*$UserName\" } | ForEach-Object {\r\n                [PSCustomObject]@{\r\n                    Group = $Group\r\n                    User  = $_.Name\r\n                }\r\n            }\r\n        }\r\n    }\r\n    else {\r\n        if ((Get-Module -Name ActiveDirectory -ListAvailable -ErrorAction SilentlyContinue)) {\r\n            try {\r\n                Import-Module -Name ActiveDirectory\r\n                # Get most of our data needed for the logic, and to reduce the number of time we need to talk to AD\r\n                $ADUser = (Get-ADUser -Identity $UserName -Properties SamAccountName -ErrorAction SilentlyContinue).SamAccountName\r\n            }\r\n            catch {\r\n                Write-Error -Message \"Ninja Agent could not access AD, either RSAT was not installed or that the agent does not have permissions to view users and groups.\"\r\n                exit 5 # Access Denied exit code\r\n            }\r\n            # Get a list of groups that the user is in\r\n            # Loop through each group\r\n            Get-ADGroup -Filter * -ErrorAction SilentlyContinue | ForEach-Object {\r\n                $ADGroup = $_\r\n                # Get users from current group and filter out all other users\r\n                Get-ADGroupMember -Identity $ADGroup -ErrorAction SilentlyContinue | Where-Object {\r\n                    $_.SamAccountName -like $ADUser\r\n                } | ForEach-Object {\r\n                    # Write out to StandardOutput\r\n                    [PSCustomObject]@{\r\n                        Group = $ADGroup.Name\r\n                        User  = $_.SamAccountName\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        else {\r\n            # Throw error that RSAT: ActiveDirectory isn't installed\r\n            Write-Error -Message \"RSAT: ActiveDirectory is not installed or not found on this computer. The PowerShell Module called ActiveDirectory is needed to proceed.\" -RecommendedAction \"https:\/\/docs.microsoft.com\/en-us\/powershell\/module\/activedirectory\/\"\r\n            exit 2 # File Not Found exit code\r\n        }\r\n    }\r\n}\r\nend {}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Acc\u00e9dez \u00e0 plus de 700 scripts dans le Dojo NinjaOne<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/fr\/phase-de-test-gratuit\/\">Obtenez l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<p>Le script peut \u00eatre divis\u00e9 en deux composantes principales selon sa fonction :<\/p>\n<ul>\n<li><strong>V\u00e9rification de l&rsquo;appartenance \u00e0 un groupe local :<\/strong> Si l&rsquo;option <strong>-IsDomainUser<\/strong> n&rsquo;est pas sp\u00e9cifi\u00e9e, le script recherche et r\u00e9pertorie les groupes dont l&rsquo;utilisateur sp\u00e9cifi\u00e9 est membre sur la machine locale.<\/li>\n<li><strong>V\u00e9rification de l&rsquo;appartenance \u00e0 un groupe Active Directory :<\/strong> Si l&rsquo;option <strong>-IsDomainUser<\/strong> est activ\u00e9e, le script communique avec Active Directory pour r\u00e9cup\u00e9rer et r\u00e9pertorier les groupes dont fait partie l&rsquo;utilisateur sp\u00e9cifi\u00e9.<\/li>\n<\/ul>\n<p>Tout au long du processus, le script produit les r\u00e9sultats sous la forme d&rsquo;un objet PSCustomObject, ce qui garantit que les donn\u00e9es sont structur\u00e9es et peuvent \u00eatre facilement comprises ou trait\u00e9es ult\u00e9rieurement.<\/p>\n<h2>Cas d&rsquo;utilisation potentiel<\/h2>\n<p>Imaginez un professionnel de l&rsquo;informatique d&rsquo;une grande entreprise qui doit v\u00e9rifier l&rsquo;appartenance \u00e0 un groupe du nouveau directeur d&rsquo;un d\u00e9partement. Gr\u00e2ce \u00e0 ce script, le professionnel de l&rsquo;informatique peut facilement dresser la liste de tous les groupes dont l&rsquo;utilisateur est membre, que ce soit dans l&rsquo;environnement local ou dans l&rsquo;environnement Active Directory. Cela permet de s&rsquo;assurer que le nouveau directeur dispose des autorisations ad\u00e9quates et d&rsquo;\u00e9viter les failles de s\u00e9curit\u00e9 ou les erreurs d&rsquo;acc\u00e8s.<\/p>\n<p>Approche alternative<\/p>\n<p>Bien que l&rsquo;interface graphique d&rsquo;Active Directory Users and Computers (ADUC) permette de visualiser les appartenances \u00e0 des groupes, elle est manuelle et ne convient pas aux v\u00e9rifications \u00e0 grande \u00e9chelle. Notre script PowerShell automatise cette t\u00e2che, ce qui la rend efficace pour le contr\u00f4le de plusieurs utilisateurs ou pour des audits fr\u00e9quents. De plus, avec PowerShell, les r\u00e9sultats peuvent \u00eatre facilement export\u00e9s, filtr\u00e9s ou int\u00e9gr\u00e9s dans des rapports, ce qui offre une flexibilit\u00e9 que les outils d&rsquo;interface graphique n&rsquo;ont pas.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li><strong>Q\u00a0: Le script peut-il \u00eatre ex\u00e9cut\u00e9 sans droits d&rsquo;administrateur ?<\/strong><br \/>\nR\u00a0: Le script n\u00e9cessite des droits d&rsquo;administrateur, cela lui permet d&rsquo;acc\u00e9der aux ressources syst\u00e8me n\u00e9cessaires pour garantir des r\u00e9sultats pr\u00e9cis.<\/li>\n<li><strong>Q\u00a0: Que faire si le module Active Directory n&rsquo;est pas pr\u00e9sent sur le syst\u00e8me ?<\/strong><br \/>\nR\u00a0: Le script g\u00e9n\u00e8re une erreur, conseillant l&rsquo;installation du RSAT (Remote Server Administration Tools) avec la fonction Active Directory.<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>Une appartenance incorrecte \u00e0 un groupe peut entra\u00eener un acc\u00e8s non autoris\u00e9 \u00e0 des donn\u00e9es ou un refus d&rsquo;acc\u00e8s \u00e0 des ressources essentielles pour les utilisateurs. En d\u00e9terminant avec pr\u00e9cision l&rsquo;appartenance des utilisateurs \u00e0 l&rsquo;aide de notre script PowerShell, les professionnels de l&rsquo;informatique peuvent renforcer la s\u00e9curit\u00e9 et garantir la conformit\u00e9 aux r\u00e9glementations.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li>Commencez toujours par ex\u00e9cuter le script dans un environnement s\u00fbr et contr\u00f4l\u00e9.<\/li>\n<li>V\u00e9rifiez r\u00e9guli\u00e8rement l&rsquo;appartenance aux groupes d&rsquo;utilisateurs, en particulier pour les r\u00f4les \u00e0 haut niveau de privil\u00e8ges.<\/li>\n<li>Int\u00e9grez les r\u00e9sultats du script dans une strat\u00e9gie <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-identity-access-management-iam\/\">de gestion des identit\u00e9s et des acc\u00e8s (IAM &#8211; Identity and Access Management)<\/a> plus globale.<\/li>\n<\/ul>\n<h2>Conclusions<\/h2>\n<p>NinjaOne, avec sa suite compl\u00e8te de solutions informatiques, peut \u00eatre un partenaire inestimable dans <a href=\"https:\/\/www.ninjaone.com\/fr\/\">l&rsquo;automatisation, la gestion et la s\u00e9curisation des environnements informatiques<\/a>. Lorsque des scripts comme celui pr\u00e9sent\u00e9 ci-dessus sont combin\u00e9s aux capacit\u00e9s de NinjaOne, les <a href=\"https:\/\/www.ninjaone.com\/fr\/efficacite\/\">professionnels de l&rsquo;informatique peuvent am\u00e9liorer leur efficacit\u00e9<\/a>, leur pr\u00e9cision et leur niveau de s\u00e9curit\u00e9. Cette synergie ouvre la voie \u00e0 une approche proactive de la gestion et de la s\u00e9curit\u00e9 informatiques.<\/p>\n","protected":false},"author":35,"featured_media":207226,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4212],"use_cases":[4289],"class_list":["post-208357","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-gestion-des-utilisateurs-et-des-acces"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/208357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/comments?post=208357"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/207226"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208357"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208357"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}