{"id":208382,"date":"2024-01-03T11:32:48","date_gmt":"2024-01-03T11:32:48","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/comment-desactiver-un-compte-utilisateur-local-windows-powershell\/"},"modified":"2024-03-04T17:43:54","modified_gmt":"2024-03-04T17:43:54","slug":"comment-desactiver-un-compte-utilisateur-local-windows-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/comment-desactiver-un-compte-utilisateur-local-windows-powershell\/","title":{"rendered":"Comment d\u00e9sactiver un compte utilisateur local dans Windows \u00e0 l&rsquo;aide de PowerShell"},"content":{"rendered":"<p>Les professionnels de l&rsquo;informatique et les fournisseurs de services g\u00e9r\u00e9s (MSP) le savent : Il est parfois n\u00e9cessaire de <strong>d\u00e9sactiver un compte utilisateur local sur une machine Windows<\/strong> pour des raisons de s\u00e9curit\u00e9, de conformit\u00e9 ou d&rsquo;autres raisons op\u00e9rationnelles. Bien s\u00fbr, il existe des outils d&rsquo;interface graphique (GUI) int\u00e9gr\u00e9s pour cela, mais lorsque vous g\u00e9rez plusieurs syst\u00e8mes, l&rsquo;automatisation est essentielle. Aujourd&rsquo;hui, nous allons nous pencher sur un script PowerShell con\u00e7u pour automatiser cette t\u00e2che, la rendre plus rapide, plus s\u00fbre et facilement r\u00e9p\u00e9table.<\/p>\n<p>Le script vous permet de d\u00e9sactiver un compte utilisateur local sous Windows par l&rsquo;interm\u00e9diaire de PowerShell. Ce script PowerShell s&rsquo;adresse sp\u00e9cifiquement \u00e0 ceux qui cherchent comment d\u00e9sactiver un utilisateur du syst\u00e8me d&rsquo;exploitation Windows via PowerShell ou \u00e0 ceux qui se demandent comment d\u00e9sactiver un compte utilisateur local sur Windows. Alors, sans plus attendre, voici le script :<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Disable a local account\r\n.DESCRIPTION\r\n    Disable a local account\r\n.EXAMPLE\r\n     -UserName \"AdminTest\"\r\n    Disables the account AdminTest\r\n.EXAMPLE\r\n    PS C:&gt; Disable-LocalAdminAccount.ps1 -UserName \"Administrator\"\r\n    Disables the account AdminTest\r\n.OUTPUTS\r\n    None\r\n    String[]\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes:\r\n    Initial Release\r\n    (c) 2023 NinjaOne\r\n    By 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    LocalBuiltInAccountManagement\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    # User name of a local account\r\n    [Parameter(Mandatory = $true)]\r\n    [String]\r\n    $UserName\r\n)\r\n\r\nbegin {\r\n    function Test-IsElevated {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        $p = New-Object System.Security.Principal.WindowsPrincipal($id)\r\n        if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))\r\n        { Write-Output $true }\r\n        else\r\n        { Write-Output $false }\r\n    }\r\n}\r\nprocess {\r\n    if (-not (Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n    if ($(Get-Command -Name \"Disable-LocalUser\" -ErrorAction SilentlyContinue)) {\r\n        # Disables $UserName using Disable-LocalUser\r\n        try {\r\n            Disable-LocalUser $UserName -Confirm:$false\r\n        }\r\n        catch {\r\n            Write-Error $_\r\n            exit 1\r\n        }\r\n    }\r\n    else {\r\n        # Disables $UserName using net.exe\r\n        net.exe user $UserName \/active:no\r\n        if ($LASTEXITCODE -gt 0) {\r\n            exit 1\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>Comprendre le script<\/h2>\n<p>Voici un bref r\u00e9sum\u00e9 :<\/p>\n<ul>\n<li>Le script commence par v\u00e9rifier s&rsquo;il est ex\u00e9cut\u00e9 avec des privil\u00e8ges d&rsquo;administrateur. Si ce n&rsquo;est pas le cas, il s&rsquo;arr\u00eate et envoie un message d&rsquo;erreur.<\/li>\n<li>Il v\u00e9rifie la pr\u00e9sence de la commande int\u00e9gr\u00e9e <strong>Disable-LocalUser<\/strong>. Si elle existe, il l&rsquo;utilise. Sinon, il recourt \u00e0 la commande <strong>net.exe user<\/strong> pour d\u00e9sactiver le compte de l&rsquo;utilisateur.<\/li>\n<\/ul>\n<p>Le script impose que la variable <strong>$UserName<\/strong> soit remplie. Ce compte est le compte utilisateur local que vous avez l&rsquo;intention de d\u00e9sactiver.<\/p>\n<h3><strong>Pr\u00e9requis<\/strong><\/h3>\n<ul>\n<li><strong>Exigences du syst\u00e8me d&rsquo;exploitation<\/strong>: Le syst\u00e8me d&rsquo;exploitation minimum pris en charge est Windows 10 et Windows Server 2016.<\/li>\n<li><strong>Version PowerShell<\/strong>: N\u00e9cessite au moins PowerShell 5.1.<\/li>\n<\/ul>\n<h2>Sauvegarde et restauration : Proc\u00e9dez avec prudence<\/h2>\n<p>Avant d&rsquo;ex\u00e9cuter un script PowerShell qui modifie les param\u00e8tres du syst\u00e8me, il est essentiel de sauvegarder les param\u00e8tres existants ou, mieux encore, l&rsquo;ensemble du syst\u00e8me. Vous pouvez ainsi revenir \u00e0 l&rsquo;\u00e9tat ant\u00e9rieur en cas de probl\u00e8me. Voici quelques m\u00e9thodes de sauvegarde que vous pouvez utiliser :<\/p>\n<h3>Point de restauration du syst\u00e8me<\/h3>\n<p>La cr\u00e9ation d&rsquo;un point de restauration du syst\u00e8me est un moyen simple et efficace de sauvegarder vos param\u00e8tres actuels. Voici comment :<\/p>\n<ul>\n<li>Ouvrez le menu D\u00e9marrer et recherchez \u00ab\u00a0Cr\u00e9er un point de restauration\u00a0\u00bb.<\/li>\n<li>Cliquez sur le r\u00e9sultat correspondant pour ouvrir la fen\u00eatre \u00ab\u00a0Propri\u00e9t\u00e9s syst\u00e8me\u00a0\u00bb.<\/li>\n<li>Allez dans l&rsquo;onglet \u00ab\u00a0Protection du syst\u00e8me\u00a0\u00bb et cliquez sur \u00ab\u00a0Cr\u00e9er\u00a0\u00bb.<\/li>\n<li>Nommez votre point de restauration et enregistrez-le.<\/li>\n<\/ul>\n<h3>Comment effectuer une sauvegarde compl\u00e8te du syst\u00e8me<\/h3>\n<p>Pour une sauvegarde compl\u00e8te, vous pouvez cr\u00e9er une image syst\u00e8me :<\/p>\n<ul>\n<li>Ouvrez le panneau de configuration.<\/li>\n<li>Naviguez vers \u00ab\u00a0Syst\u00e8me et s\u00e9curit\u00e9\u00a0\u00bb &gt; \u00ab\u00a0Sauvegarder et restaurer (Windows 7)\u00a0\u00bb.<\/li>\n<li>Dans le volet de gauche, cliquez sur \u00ab\u00a0Cr\u00e9er une image syst\u00e8me\u00a0\u00bb.<\/li>\n<li>Suivez l&rsquo;assistant pour terminer la sauvegarde.<\/li>\n<\/ul>\n<p><strong>Remarque <\/strong><strong>:<\/strong> Testez toujours le processus de restauration pour vous assurer que votre sauvegarde est correcte.<\/p>\n<h2>Gestion des erreurs : Que faire lorsque les choses tournent mal ?<\/h2>\n<p>Le script PowerShell comprend une gestion des erreurs de base, mais comme pour tout script, des erreurs peuvent se produire. Vous trouverez ci-dessous quelques erreurs courantes et des conseils de d\u00e9pannage :<\/p>\n<p><strong>\u00ab\u00a0Acc\u00e8s refus\u00e9. Veuillez l&rsquo;ex\u00e9cuter avec les privil\u00e8ges administrateur.\u00a0\u00bb<\/strong><\/p>\n<p>Cette erreur se produira si vous essayez d&rsquo;ex\u00e9cuter le script sans privil\u00e8ges. Veillez \u00e0 cliquer avec le bouton droit de la souris sur la fen\u00eatre PowerShell et \u00e0 choisir \u00ab\u00a0Ex\u00e9cuter en tant qu&rsquo;administrateur\u00a0\u00bb.<\/p>\n<p><strong>Le compte d&rsquo;utilisateur n&rsquo;existe pas<\/strong><\/p>\n<p>Si vous saisissez un nom d&rsquo;utilisateur qui n&rsquo;existe pas, le script g\u00e9n\u00e8re une erreur. V\u00e9rifiez \u00e0 nouveau le nom d&rsquo;utilisateur et r\u00e9essayez.<\/p>\n<p><strong>Le script ne s&rsquo;ex\u00e9cute pas<\/strong><\/p>\n<p>Si votre script ne s&rsquo;ex\u00e9cute pas, v\u00e9rifiez les param\u00e8tres de votre strat\u00e9gie d&rsquo;ex\u00e9cution PowerShell. Il se peut que vous deviez modifier la strat\u00e9gie pour permettre l&rsquo;ex\u00e9cution du script. Utilisez la commande suivante pour le modifier :<\/p>\n<p><em>Set-ExecutionPolicy RemoteSigned<\/em><\/p>\n<p>N&rsquo;oubliez pas de le remettre \u00e0 sa valeur initiale apr\u00e8s l&rsquo;ex\u00e9cution de votre script.<\/p>\n<h2>Traitement des erreurs de type \u00ab\u00a0catch all\u00a0\u00bb<\/h2>\n<p>Si vous souhaitez \u00e9tendre le script pour enregistrer les erreurs dans un fichier texte \u00e0 des fins d&rsquo;audit, vous pouvez modifier le bloc Catch du script comme suit :<\/p>\n<p><em>catch { Write-Error $_ \u00ab\u00a0Erreur : $_\u00a0\u00bb | Out-File \u00ab\u00a0C:pathtoerrorlog.txt\u00a0\u00bb -Append exit 1 }<\/em><\/p>\n<p><strong>Remarque <\/strong>: Remplacez \u00ab\u00a0C:pathtoerrorlog.txt\u00a0\u00bb par le chemin d&rsquo;acc\u00e8s au fichier journal de votre choix.<\/p>\n<p>En incorporant ces m\u00e9thodes de sauvegarde et de traitement des erreurs, vous ajoutez une couche suppl\u00e9mentaire de s\u00e9curit\u00e9 et de fiabilit\u00e9 lors de l&rsquo;ex\u00e9cution du script.<\/p>\n<h2>En quoi cela est-il utile ?<\/h2>\n<h3><strong>Pour les professionnels de l&rsquo;informatique :<\/strong><\/h3>\n<ul>\n<li><strong>S\u00e9curit\u00e9<\/strong>: Si vous g\u00e9rez l&rsquo;infrastructure informatique d&rsquo;une entreprise, il est essentiel de savoir comment d\u00e9sactiver un compte utilisateur local sur Windows. Les comptes non autoris\u00e9s ou redondants pr\u00e9sentent des risques pour la s\u00e9curit\u00e9.<\/li>\n<li><strong>Conformit\u00e9<\/strong>: La conformit\u00e9 r\u00e9glementaire n\u00e9cessite souvent la d\u00e9sactivation de certains comptes. L&rsquo;automatisation de ce processus garantit qu&rsquo;aucune \u00e9tape n&rsquo;est omise.<\/li>\n<li><strong>Automatisation et \u00e9volutivit\u00e9<\/strong>: Le script peut \u00eatre inclus dans une s\u00e9quence d&rsquo;automatisation plus large, ce qui facilite la d\u00e9sactivation des comptes sur de nombreuses machines simultan\u00e9ment.<\/li>\n<\/ul>\n<h3><strong>Pour les MSP :<\/strong><\/h3>\n<ul>\n<li><strong>Multi-tenant<\/strong>: Les MSP peuvent facilement int\u00e9grer ce script dans leurs syst\u00e8mes de gestion centralis\u00e9e. Cela simplifie la gestion de plusieurs clients \u00e0 partir d&rsquo;un seul tableau de bord.<\/li>\n<li><strong>Efficacit\u00e9 op\u00e9rationnelle<\/strong>: La capacit\u00e9 d&rsquo;automatisation de ce script PowerShell r\u00e9duit la charge op\u00e9rationnelle.<\/li>\n<li><strong>Accords de niveau de service (SLA) et satisfaction client<\/strong>: L&rsquo;automatisation garantit des temps de r\u00e9ponse plus rapides et le respect des accords de niveau de service (SLA), ce qui se traduit directement par la satisfaction du client.<\/li>\n<\/ul>\n<h2>Conclusions<\/h2>\n<p>Lorsqu&rsquo;il s&rsquo;agit de g\u00e9rer les comptes utilisateur locaux, le script <strong>Disable-LocalAdminAccount.ps1<\/strong> est un outil pr\u00e9cieux que vous devez avoir dans votre arsenal.\u00a0Exploitez la puissance de l&rsquo;automatisation et am\u00e9liorez vos mesures de s\u00e9curit\u00e9 en int\u00e9grant ce script dans vos flux de travail. Apr\u00e8s tout, dans le monde informatique actuel, qui \u00e9volue rapidement, l&rsquo;automatisation n&rsquo;est pas seulement un luxe, c&rsquo;est une n\u00e9cessit\u00e9.<\/p>\n","protected":false},"author":35,"featured_media":206889,"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-208382","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\/208382","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=208382"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/206889"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=208382"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=208382"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=208382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}