{"id":269471,"date":"2024-06-06T14:33:49","date_gmt":"2024-06-06T14:33:49","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=269471"},"modified":"2024-06-06T14:33:49","modified_gmt":"2024-06-06T14:33:49","slug":"generer-des-rapports-d-activite-des-utilisateurs-active-directory","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaonesandbox.dev\/fr\/script-hub\/generer-des-rapports-d-activite-des-utilisateurs-active-directory\/","title":{"rendered":"Ma\u00eetriser PowerShell : G\u00e9n\u00e9rer des rapports d&rsquo;activit\u00e9 des utilisateurs Active Directory pour la gestion informatique"},"content":{"rendered":"<h2>Points \u00e0 retenir<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Rapports automatis\u00e9s sur l&rsquo;activit\u00e9 des utilisateurs AD<\/strong>: Le script automatise le processus de g\u00e9n\u00e9ration de rapports sur l&rsquo;activit\u00e9 des utilisateurs Active Directory.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>P\u00e9riode personnalisable<\/strong>: Les utilisateurs peuvent sp\u00e9cifier le nombre de jours pour la surveillance de l&rsquo;activit\u00e9 \u00e0 l&rsquo;aide du param\u00e8tre <strong>-NumberOfDays<\/strong>.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Exclusion des utilisateurs d\u00e9sactiv\u00e9s<\/strong>: Le script comporte une option permettant d&rsquo;exclure les utilisateurs d\u00e9sactiv\u00e9s du rapport afin d&rsquo;obtenir des donn\u00e9es plus pr\u00e9cises.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>Int\u00e9gration facile<\/strong> : Il s&rsquo;int\u00e8gre bien \u00e0 l&rsquo;infrastructure informatique existante, en particulier pour les entreprises MSP et les professionnels de l&rsquo;informatique.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Am\u00e9lioration de la s\u00e9curit\u00e9 et de la conformit\u00e9<\/strong>: Il fournit des donn\u00e9es essentielles pour les audits de conformit\u00e9 et le contr\u00f4le de la s\u00e9curit\u00e9.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\"><strong>Efficacit\u00e9 par rapport aux m\u00e9thodes manuelles<\/strong>: Il est bien plus efficace que les m\u00e9thodes manuelles de suivi de l&rsquo;activit\u00e9 des utilisateurs.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\"><strong>Informations exploitables<\/strong>: Il fournit des informations exploitables sur les habitudes de connexion des utilisateurs et l&rsquo;activit\u00e9 des comptes.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\"><strong>Compatibilit\u00e9 avec NinjaOne<\/strong>: Il compl\u00e8te des outils tels que NinjaOne, en am\u00e9liorant la gestion informatique et les capacit\u00e9s de reporting.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"9\" data-aria-level=\"1\"><strong>Flexibilit\u00e9 du script<\/strong>: Offre des options de personnalisation pour divers environnements et exigences informatiques.<\/li>\n<\/ul>\n<h2>Introduction<\/h2>\n<p><a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/rmm\/gestion-dactive-directory\/\">Active Directory (AD)<\/a> est un pilier de l&rsquo;infrastructure informatique des entreprises. Il g\u00e8re et authentifie les identit\u00e9s des utilisateurs et l&rsquo;acc\u00e8s aux ressources du syst\u00e8me. La compr\u00e9hension de l&rsquo;activit\u00e9 des utilisateurs dans AD est cruciale pour la s\u00e9curit\u00e9 et l&rsquo;efficacit\u00e9. Cela nous am\u00e8ne \u00e0 l&rsquo;importance des <a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/script-hub\/\">scripts PowerShell<\/a> pour extraire des donn\u00e9es significatives d&rsquo;AD, et un script en particulier qui rend compte des utilisateurs actifs dans une p\u00e9riode donn\u00e9e.<\/p>\n<h2>Contexte<\/h2>\n<p>Le script en question est destin\u00e9 aux professionnels de l&rsquo;informatique et aux <a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/quest-ce-quun-msp\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a> qui ont besoin d&rsquo;une vue claire de l&rsquo;activit\u00e9 des utilisateurs Active Directory. Il s&rsquo;agit d&rsquo;un script PowerShell, un outil puissant d&rsquo;automatisation des t\u00e2ches administratives de Windows. Ce script g\u00e9n\u00e8re sp\u00e9cifiquement un rapport d\u00e9taillant le nombre d&rsquo;utilisateurs Active Directory actifs qui se sont connect\u00e9s au cours d&rsquo;une p\u00e9riode donn\u00e9e. Ces informations sont pr\u00e9cieuses pour les pistes d&rsquo;audit, la conformit\u00e9, la surveillance de la s\u00e9curit\u00e9 et la gestion des comptes d&rsquo;utilisateurs.<\/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    Generates a report for the number of active users in active directory that have logged in the specified time frame.\r\n.DESCRIPTION\r\n    Generates a report for the number of active users in active directory that have logged in the specified time frame.\r\n\r\n.EXAMPLE\r\n    (No Parameters)\r\n    \r\n    Number of active users: 2\r\n    Total users (including active and inactive): 5\r\n    Percent Active: 40%\r\n\r\n    SamAccountName UserPrincipalName   mail           LastLogonDate      \r\n    -------------- -----------------   ----           -------------      \r\n    kbohlander     kbohlander@test.lan                6\/5\/2023 8:58:20 AM\r\n    tuser          tuser@test.lan      tuser@test.com 6\/6\/2023 8:30:23 AM\r\n\r\nPARAMETER: -NumberOfDays \"ReplaceWithAnumber\"\r\n    How long ago in days to report on.\r\n.EXAMPLE\r\n    -NumberOfDays \"1\" (If today was 6\/7\/2023)\r\n    \r\n    Number of active users: 2\r\n    Total users (including active and inactive): 5\r\n    Percent Active: 40%\r\n\r\n    SamAccountName UserPrincipalName   mail           LastLogonDate      \r\n    -------------- -----------------   ----           -------------      \r\n    tuser          tuser@test.lan      tuser@test.com 6\/6\/2023 8:30:23 AM\r\n\r\nPARAMETER: -ExcludeDisabledUsers\r\n    Excludes the user from the report if they're currently disabled.\r\n\r\nPARAMETER: -CustomFieldName \"ReplaceMeWithAnyMultilineCustomField\"\r\n    Name of a multiline custom field to save the results to.\r\n.EXAMPLE\r\n    -CustomFieldName \"ReplaceMeWithAnyMultilineCustomField\"\r\n    \r\n    Number of active users: 2\r\n    Total users (including active and inactive): 5\r\n    Percent Active: 40%\r\n\r\n    SamAccountName UserPrincipalName   mail           LastLogonDate      \r\n    -------------- -----------------   ----           -------------      \r\n    kbohlander     kbohlander@test.lan                6\/5\/2023 8:58:20 AM\r\n    tuser          tuser@test.lan      tuser@test.com 6\/6\/2023 8:30:23 AM\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes: Renamed script and added Script Variable support\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaonesandbox.dev\/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#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    [int]$NumberOfDays = 30,\r\n    [Parameter()]\r\n    [String]$CustomFieldName,\r\n    [Parameter()]\r\n    [Switch]$ExcludeDisabledUsers = [System.Convert]::ToBoolean($env:excludeDisabledUsersFromReport)\r\n)\r\n\r\nbegin {\r\n    # Tests for administrative rights which is required to get the last logon date.\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        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)\r\n    }\r\n\r\n    # Tests if the device the script is running on is a dmona controller.\r\n    function Test-IsDomainController {\r\n        return $(Get-CimInstance -ClassName Win32_OperatingSystem).ProductType -eq 2\r\n    }\r\n\r\n    # This function is to make it easier to set Ninja Custom Fields.\r\n    function Set-NinjaProperty {\r\n        [CmdletBinding()]\r\n        Param(\r\n            [Parameter(Mandatory = $True)]\r\n            [String]$Name,\r\n            [Parameter()]\r\n            [String]$Type,\r\n            [Parameter(Mandatory = $True, ValueFromPipeline = $True)]\r\n            $Value,\r\n            [Parameter()]\r\n            [String]$DocumentName\r\n        )\r\n\r\n        # If we're requested to set the field value for a Ninja document we'll specify it here.\r\n        $DocumentationParams = @{}\r\n        if ($DocumentName) { $DocumentationParams[\"DocumentName\"] = $DocumentName }\r\n\r\n        # This is a list of valid fields we can set. If no type is given we'll assume the input doesn't have to be changed in any way.\r\n        $ValidFields = \"Attachment\", \"Checkbox\", \"Date\", \"Date or Date Time\", \"Decimal\", \"Dropdown\", \"Email\", \"Integer\", \"IP Address\", \"MultiLine\", \"MultiSelect\", \"Phone\", \"Secure\", \"Text\", \"Time\", \"URL\"\r\n        if ($Type -and $ValidFields -notcontains $Type) { Write-Warning \"$Type is an invalid type! Please check here for valid types. https:\/\/ninjarmm.zendesk.com\/hc\/en-us\/articles\/16973443979789-Command-Line-Interface-CLI-Supported-Fields-and-Functionality\" }\r\n\r\n        # The below field requires additional information in order to set\r\n        $NeedsOptions = \"Dropdown\"\r\n        if ($DocumentName) {\r\n            if ($NeedsOptions -contains $Type) {\r\n                # We'll redirect the error output to the success stream to make it easier to error out if nothing was found or something else went wrong.\r\n                $NinjaPropertyOptions = Ninja-Property-Docs-Options -AttributeName $Name @DocumentationParams 2&gt;&amp;1\r\n            }\r\n        }\r\n        else {\r\n            if ($NeedsOptions -contains $Type) {\r\n                $NinjaPropertyOptions = Ninja-Property-Options -Name $Name 2&gt;&amp;1\r\n            }\r\n        }\r\n\r\n        # If we received some sort of error it should have an exception property and we'll exit the function with that error information.\r\n        if ($NinjaPropertyOptions.Exception) { throw $NinjaPropertyOptions }\r\n\r\n        # The below type's require values not typically given in order to be set. The below code will convert whatever we're given into a format ninjarmm-cli supports.\r\n        switch ($Type) {\r\n            \"Checkbox\" {\r\n                # While it's highly likely we were given a value like \"True\" or a boolean datatype it's better to be safe than sorry.\r\n                $NinjaValue = [System.Convert]::ToBoolean($Value)\r\n            }\r\n            \"Date or Date Time\" {\r\n                # Ninjarmm-cli is expecting the time to be representing as a Unix Epoch string. So we'll convert what we were given into that format.\r\n                $Date = (Get-Date $Value).ToUniversalTime()\r\n                $TimeSpan = New-TimeSpan (Get-Date \"1970-01-01 00:00:00\") $Date\r\n                $NinjaValue = $TimeSpan.TotalSeconds\r\n            }\r\n            \"Dropdown\" {\r\n                # Ninjarmm-cli is expecting the guid of the option we're trying to select. So we'll match up the value we were given with a guid.\r\n                $Options = $NinjaPropertyOptions -replace '=', ',' | ConvertFrom-Csv -Header \"GUID\", \"Name\"\r\n                $Selection = $Options | Where-Object { $_.Name -eq $Value } | Select-Object -ExpandProperty GUID\r\n\r\n                if (-not $Selection) {\r\n                    throw \"Value is not present in dropdown\"\r\n                }\r\n\r\n                $NinjaValue = $Selection\r\n            }\r\n            default {\r\n                # All the other types shouldn't require additional work on the input.\r\n                $NinjaValue = $Value\r\n            }\r\n        }\r\n\r\n        # We'll need to set the field differently depending on if its a field in a Ninja Document or not.\r\n        if ($DocumentName) {\r\n            $CustomField = Ninja-Property-Docs-Set -AttributeName $Name -AttributeValue $NinjaValue @DocumentationParams 2&gt;&amp;1\r\n        }\r\n        else {\r\n            $CustomField = Ninja-Property-Set -Name $Name -Value $NinjaValue 2&gt;&amp;1\r\n        }\r\n\r\n        if ($CustomField.Exception) {\r\n            throw $CustomField\r\n        }\r\n    }\r\n\r\n    # Todays date\r\n    $Today = Get-Date\r\n\r\n    if ($env:numberOfDaysToReportOn -and $env:numberOfDaysToReportOn -notlike \"null\") { $NumberOfDays = $env:numberOfDaysToReportOn }\r\n    if ($env:customFieldName -and $env:customFieldName -notlike \"null\") { $CustomFieldName = $env:customFieldName }\r\n}\r\nprocess {\r\n    # Erroring out when ran without administrator rights\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\r\n    # Erroring out when ran on a non-domain controller\r\n    if (-not (Test-IsDomainController)) {\r\n        Write-Error -Message \"The script needs to be run on a domain controller!\"\r\n        exit 1\r\n    }\r\n\r\n    # If disabled users are to be excluded we're going to fetch different properties and Filter out disabled users\r\n    if ($ExcludeDisabledUsers) {\r\n        $Users = Get-ADUser -Filter * -Properties SamAccountName, UserPrincipalName, mail, LastLogonDate, Enabled | \r\n            Where-Object { $_.Enabled -eq $True }\r\n        $ActiveUsers = Get-ADUser -Filter { LastLogonDate -ge 0 } -Properties SamAccountName, UserPrincipalName, mail, LastLogonDate, Enabled |\r\n            Where-Object { (New-TimeSpan $_.LastLogonDate $Today).Days -le $NumberOfDays -and $_.Enabled -eq $True } |\r\n            Select-Object SamAccountName, UserPrincipalName, mail, LastLogonDate\r\n    }\r\n    else {\r\n        $Users = Get-ADUser -Filter * -Properties SamAccountName, UserPrincipalName, mail, LastLogonDate\r\n        $ActiveUsers = Get-ADUser -Filter { LastLogonDate -ge 0 } -Properties SamAccountName, UserPrincipalName, mail, LastLogonDate |\r\n            Where-Object { (New-TimeSpan $_.LastLogonDate $Today).Days -le $NumberOfDays } |\r\n            Select-Object SamAccountName, UserPrincipalName, mail, LastLogonDate\r\n    }\r\n\r\n    # Creating a generic list to start assembling the report\r\n    $Report = New-Object System.Collections.Generic.List[string]\r\n\r\n    # Actual report assembly each section will be print on its own line\r\n    $Report.Add(\"Active users: $(($ActiveUsers | Measure-Object).Count)\")\r\n    $Report.Add(\"Total users: $(($Users | Measure-Object).Count)\")\r\n    $Report.Add(\"Percent Active: $(if((($Users | Measure-Object).Count) -gt 0){[Math]::Round(($ActiveUsers | Measure-Object).Count \/ (($Users | Measure-Object).Count) * 100, 2)}else{0})%\")\r\n\r\n    # Set's up table to use in the report\r\n    $Report.Add($($ActiveUsers | Format-Table | Out-String))\r\n\r\n    if ($ActiveUsers) {\r\n        # Exports report to activity log\r\n        $Report | Write-Host\r\n\r\n        if ($CustomFieldName) {\r\n            # Saves report to custom field.\r\n            try {\r\n                Set-NinjaProperty -Name $CustomFieldName -Value ($Report | Out-String)\r\n            }\r\n            catch {\r\n                # If we ran into some sort of error we'll output it here.\r\n                Write-Error -Message $_.ToString() -Category InvalidOperation -Exception (New-Object System.Exception)\r\n                exit 1\r\n            }\r\n        }\r\n    }\r\n    else {\r\n        Write-Error \"[Error] No active users found!\"\r\n        exit 1\r\n    }\r\n}\r\nend {\r\n    \r\n    \r\n    \r\n}<\/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.ninjaonesandbox.dev\/fr\/phase-de-test-gratuit\/\">Obtenir l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<p>Le texte est structur\u00e9 en plusieurs sections :<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"10\" data-aria-level=\"1\"><strong>Param\u00e8tres<\/strong>\u00a0: Il accepte des param\u00e8tres tels que le nombre de jours de recherche pour les utilisateurs Active Directory actifs, un nom de champ personnalis\u00e9 pour l&rsquo;enregistrement des r\u00e9sultats et une option permettant d&rsquo;exclure les utilisateurs d\u00e9sactiv\u00e9s.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"11\" data-aria-level=\"1\"><strong>Pr\u00e9paration<\/strong>: Il v\u00e9rifie les conditions n\u00e9cessaires telles que les droits d&rsquo;administrateur et la pr\u00e9sence d&rsquo;un contr\u00f4leur de domaine.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"12\" data-aria-level=\"1\"><strong>Collecte de donn\u00e9es sur les utilisateurs<\/strong>: Il utilise les cmdlets Active Directory (<strong>Get-ADUser<\/strong>) pour collecter des donn\u00e9es sur les utilisateurs en fonction des param\u00e8tres sp\u00e9cifi\u00e9s.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"12\" data-aria-level=\"1\"><strong>G\u00e9n\u00e9ration de rapports<\/strong>: Il cr\u00e9e un objet de liste et le remplit avec des donn\u00e9es sur les utilisateurs, en calculant les utilisateurs actifs, le nombre total d&rsquo;utilisateurs et le pourcentage d&rsquo;utilisateurs actifs.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"12\" data-aria-level=\"1\"><strong>Gestion des r\u00e9sultats<\/strong>: Le script affiche le rapport sur la console ou l&rsquo;enregistre dans un champ personnalis\u00e9 \u00e0 l&rsquo;aide de la fonction <strong>Set-NinjaProperty<\/strong>.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Imaginez un administrateur informatique d&rsquo;une grande entreprise qui doit r\u00e9guli\u00e8rement v\u00e9rifier l&rsquo;activit\u00e9 des utilisateurs pour s&rsquo;assurer de la conformit\u00e9 de la s\u00e9curit\u00e9. Il peut programmer l&rsquo;ex\u00e9cution mensuelle de ce script, ce qui permet d&rsquo;avoir une vision claire des connexions des utilisateurs et d&rsquo;identifier les comptes inactifs ou les sch\u00e9mas d&rsquo;activit\u00e9 inhabituels.<\/p>\n<h2>Comparaisons<\/h2>\n<p>D&rsquo;autres m\u00e9thodes, comme les v\u00e9rifications manuelles ou l&rsquo;utilisation d&rsquo;outils bas\u00e9s sur une interface graphique, prennent du temps et sont moins efficaces que les scripts PowerShell. Les scripts peuvent \u00eatre automatis\u00e9s et personnalis\u00e9s, et ils traitent plus rapidement les grands ensembles de donn\u00e9es.<\/p>\n<h2>FAQ<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Comment puis-je personnaliser la p\u00e9riode de temps du rapport ?<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">Utilisez le param\u00e8tre <strong>-NumberOfDays<\/strong> pour d\u00e9finir la p\u00e9riode souhait\u00e9e.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>Le script peut-il exclure les utilisateurs d\u00e9sactiv\u00e9s ?<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\">Oui, utilisez le commutateur <strong>-ExcludeDisabledUsers.<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Est-il possible de sauvegarder le rapport \u00e0 des fins de documentation ?<\/strong>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">Oui, utilisez le param\u00e8tre <strong>-CustomFieldName<\/strong> pour enregistrer le rapport dans un champ personnalis\u00e9.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>Les r\u00e9sultats de ce script peuvent \u00eatre utiles pour identifier les risques de s\u00e9curit\u00e9 tels que les comptes d&rsquo;utilisateurs p\u00e9rim\u00e9s ou les sch\u00e9mas de connexion irr\u00e9guliers. Il permet \u00e9galement de garantir la conformit\u00e9 avec les diff\u00e9rentes politiques et r\u00e9glementations informatiques.<\/p>\n<h2>Recommandations<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\">Planifiez r\u00e9guli\u00e8rement le script pour une surveillance constante.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\">Ex\u00e9cutez toujours le script avec les autorisations appropri\u00e9es.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\">Utilisez les options de personnalisation pour adapter le rapport \u00e0 vos besoins sp\u00e9cifiques.<\/li>\n<\/ul>\n<h2>Conclusion :<\/h2>\n<p>Dans le contexte de NinjaOne, une plateforme connue pour ses grandes <a href=\"https:\/\/www.ninjaonesandbox.dev\/fr\/gestion-informatique-grande-entreprise\/\">capacit\u00e9s de gestion informatique<\/a>, ce script compl\u00e8te ses fonctionnalit\u00e9s en fournissant des informations d\u00e9taill\u00e9es sur l&rsquo;activit\u00e9 des utilisateurs Active Directory. C&rsquo;est un exemple parfait de la fa\u00e7on dont les scripts PowerShell peuvent am\u00e9liorer les fonctionnalit\u00e9s d&rsquo;outils de gestion informatique complets tels que NinjaOne, en offrant des informations plus approfondies et des capacit\u00e9s d&rsquo;automatisation.<\/p>\n","protected":false},"author":35,"featured_media":0,"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-269471","script_hub","type-script_hub","status-publish","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/script_hub\/269471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/comments?post=269471"}],"wp:attachment":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/media?parent=269471"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/operating_system?post=269471"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/use_cases?post=269471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}