{"id":248292,"date":"2024-04-30T15:47:40","date_gmt":"2024-04-30T15:47:40","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=248292"},"modified":"2024-04-30T15:47:40","modified_gmt":"2024-04-30T15:47:40","slug":"parametrage-des-champs-personnalises-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaonesandbox.dev\/fr\/script-hub\/parametrage-des-champs-personnalises-powershell\/","title":{"rendered":"Automatiser le param\u00e9trage des champs personnalis\u00e9s dans les syst\u00e8mes informatiques avec PowerShell"},"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>Automatisation avec PowerShell<\/strong>: Le script s&rsquo;appuie sur PowerShell pour une gestion efficace des donn\u00e9es dans les syst\u00e8mes informatiques, en particulier dans les environnements des entreprises MSP.<\/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>Gestion des champs personnalis\u00e9s<\/strong>: Il est con\u00e7u pour d\u00e9finir des champ personnalis\u00e9es dans NinjaOne, d\u00e9montrant ainsi son adaptabilit\u00e9 \u00e0 des outils informatiques sp\u00e9cifiques.<\/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>Privil\u00e8ges administratifs<\/strong>: L&rsquo;ex\u00e9cution n\u00e9cessite des droits d&rsquo;administrateur local, ce qui souligne la n\u00e9cessit\u00e9 de s\u00e9curiser les op\u00e9rations au niveau du syst\u00e8me.<\/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>Traitement des types de champs<\/strong>: Comprend une logique permettant de traiter diff\u00e9rents types de donn\u00e9es comme les cases \u00e0 cocher, les dates et les listes d\u00e9roulantes, ce qui garantit une saisie pr\u00e9cise des donn\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=\"5\" data-aria-level=\"1\"><strong>Gestion des erreurs<\/strong>: Int\u00e8gre la gestion des erreurs pour d\u00e9tecter et signaler les probl\u00e8mes, ce qui am\u00e9liore la fiabilit\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>: Offre une alternative plus efficace aux mises \u00e0 jour manuelles des donn\u00e9es, r\u00e9duisant les erreurs humaines et permettant de gagner du temps.<\/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>Du c\u00f4t\u00e9 de la s\u00e9curit\u00e9<\/strong>\u00a0: Cela implique la n\u00e9cessit\u00e9 d&rsquo;un contr\u00f4le d&rsquo;acc\u00e8s et d&rsquo;un audit stricts pour \u00e9viter les abus et les violations de donn\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\"><strong>Le pouvoir de l&rsquo;automatisation dans les technologies de l&rsquo;information<\/strong>: Souligne l&rsquo;impact transformateur de l&rsquo;automatisation des t\u00e2ches informatiques, en am\u00e9liorant la pr\u00e9cision et l&rsquo;efficacit\u00e9 op\u00e9rationnelle.<\/li>\n<\/ul>\n<p>La personnalisation des syst\u00e8mes informatiques est essentielle \u00e0 l&rsquo;efficacit\u00e9 et \u00e0 la pr\u00e9cision des op\u00e9rations. Cela est particuli\u00e8rement vrai pour les <a href=\"https:\/\/www.ninjaonesandbox.dev\/what-is-an-msp\/\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a> et les services informatiques o\u00f9 des scripts, comme celui d\u00e9crit ici, sont utilis\u00e9s pour d\u00e9finir les valeurs des champs personnalis\u00e9s. En exploitant PowerShell, un puissant langage de script, les professionnels de l&rsquo;informatique peuvent <a href=\"https:\/\/www.ninjaonesandbox.dev\/script-hub\/\">automatiser et simplifier des t\u00e2ches complexes<\/a>, ce qui permet d&rsquo;optimiser les performances et de <a href=\"https:\/\/www.ninjaonesandbox.dev\/blog\/how-human-error-relates-to-cybersecurity-risks\/\">r\u00e9duire les erreurs humaines<\/a>. <a href=\"https:\/\/www.ninjaonesandbox.dev\/blog\/how-human-error-relates-to-cybersecurity-risks\/\">\u00a0<\/a><\/p>\n<h2>Contexte<\/h2>\n<p>Le script fourni est un exemple classique de la fa\u00e7on dont PowerShell peut interagir avec des outils de gestion informatique sp\u00e9cifiques &#8211; dans ce cas, NinjaOne (un <a href=\"https:\/\/www.ninjaonesandbox.dev\/rmm\/\">logiciel<\/a>populaire <a href=\"https:\/\/www.ninjaonesandbox.dev\/rmm\/\">de surveillance et de gestion \u00e0 distance<\/a>). La possibilit\u00e9 de d\u00e9finir par programme des valeurs de champs personnalis\u00e9s est cruciale pour les MSP et les administrateurs informatiques qui doivent g\u00e9rer de grandes quantit\u00e9s de donn\u00e9es sur de nombreux appareils et documents. Ce script est un outil permettant de rationaliser la gestion des donn\u00e9es et d&rsquo;assurer la coh\u00e9rence au sein d&rsquo;une infrastructure informatique.<\/p>\n<h2>Le script :<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 4\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    This is an example script for setting a custom field value. Specifying a type is recommended but not required.\r\n.DESCRIPTION\r\n    This is an example script for setting a custom field value. Specifying a type is recommended but not required.\r\n.EXAMPLE\r\n    -CustomFieldName \"text\" -Value \"Even More Text\"\r\n    \r\n    Setting Custom Field 'text' with value 'Even More Text'....\r\n    Success!\r\n\r\nPARAMETER: -CustomFieldName \"NameOfAcustomFieldToSet\"\r\n    The name of a custom field that you would like to set.\r\n\r\nPARAMETER: -CustomFieldType \"ReplaceMeWithFieldType\"\r\n    The type of custom field you are trying to set.\r\n    Valid options are: \"Text\", \"Checkbox\", \"Date\", \"Date And Time\", \"Decimal\", \"Dropdown\", \"Email\", \"Integer\", \"IP Address\", \"MultiLine\", \"Phone\", \"Secure\", \"URL\"\r\n\r\nPARAMETER: -NinjaDocumentName \"Replace Me With A Ninja Document Name\"\r\n    Name of a Ninja Document you would like to retrieve these field values from. Leave blank to retrieve values from device custom fields.\r\n\r\nPARAMETER: -Value \"ReplaceMe\"\r\n    The value you would like to set for the custom field.\r\n    \r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Server 2012 R2\r\n    Release Notes: 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.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    [String]$CustomFieldName,\r\n    [Parameter()]\r\n    [String]$CustomFieldType,\r\n    [Parameter()]\r\n    [String]$NinjaDocumentName,\r\n    [Parameter()]\r\n    [String]$Value\r\n)\r\n\r\nbegin {\r\n    # Grab parameters from dynamic script variables.\r\n    if ($env:customFieldName -and $env:customFieldName -notlike \"null\") { $CustomFieldName = $env:customFieldName }\r\n    if ($env:customFieldType -and $env:customFieldType -notlike \"null\") { $CustomFieldType = $env:customFieldType }\r\n    if ($env:ninjaDocumentName -and $env:ninjaDocumentName -notlike \"null\") { $NinjaDocumentName = $env:ninjaDocumentName }\r\n    if ($env:value -and $env:value -notlike \"null\") { $Value = $env:value }\r\n\r\n    # A custom field name is required.\r\n    if (-not $CustomFieldName) {\r\n        Write-Error \"No custom field was specified!\"\r\n        exit 1\r\n    }\r\n\r\n    # If the custom field type specified is a date or date and time, change it to \"Date or Date Time\" to be used by the function.\r\n    if ($CustomFieldType -eq \"Date\" -or $CustomFieldType -eq \"Date And Time\") {\r\n        $CustomFieldType = \"Date or Date Time\"\r\n    }\r\n\r\n    # Local Admin rights are required to read or write custom fields.\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    # 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\nprocess {\r\n    # If this script doesn't have Local Admin rights, error out.\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    # These are the three default mandatory parameters. We'll 'splat' them later.\r\n    $NinjaPropertyParams = @{\r\n        Name        = $CustomFieldName\r\n        Value       = $Value\r\n        ErrorAction = \"Stop\"\r\n    }\r\n\r\n    # If either of the optional options were given, add it to the parameter list to be 'splatted' later.\r\n    if ($CustomFieldType) { $NinjaPropertyParams[\"Type\"] = $CustomFieldType }\r\n    if ($NinjaDocumentName) { $NinjaPropertyParams[\"DocumentName\"] = $NinjaDocumentName }\r\n\r\n    # Log that we are about to attempt setting a custom field.\r\n    Write-Host \"Setting Custom Field '$CustomFieldName' with value '$Value'....\"\r\n\r\n    # Set a custom field using our function with the 'splatted' options.\r\n    try {\r\n        Set-NinjaProperty @NinjaPropertyParams\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    Write-Host \"Success!\"\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.ninjaonesandbox.dev\/fr\/phase-de-test-gratuit\/\">Obtenir l&rsquo;acc\u00e8s<\/a><\/p>\n<\/div>\n<h2>Description d\u00e9taill\u00e9e<\/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>Structure du script<\/strong>: Le script commence par un synopsis et une description, suivis de param\u00e8tres pour les noms des champs personnalis\u00e9s, les types, les noms des documents et les valeurs.<\/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>Initialisation<\/strong>\u00a0: Dans le bloc \u00ab\u00a0begin\u00a0\u00bb, il capture et valide les param\u00e8tres fournis, en s&rsquo;assurant qu&rsquo;un nom de champ personnalis\u00e9 est sp\u00e9cifi\u00e9. Si les champs \u00ab\u00a0Date\u00a0\u00bb ou \u00ab\u00a0Date et heure\u00a0\u00bb sont s\u00e9lectionn\u00e9s, le format est adapt\u00e9 \u00e0 \u00ab\u00a0Date ou Date et heure\u00a0\u00bb.<\/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>V\u00e9rification des droits d&rsquo;administrateur<\/strong>: Le script comprend une fonction permettant de v\u00e9rifier s&rsquo;il s&rsquo;ex\u00e9cute avec les privil\u00e8ges d&rsquo;administrateur local, condition essentielle pour modifier les param\u00e8tres du syst\u00e8me.<\/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>D\u00e9finition des champs personnalis\u00e9s<\/strong>: La fonction principale, <strong>Set-NinjaProperty<\/strong>, prend en compte diff\u00e9rents param\u00e8tres et g\u00e8re diff\u00e9rents types de champs, notamment les champs de type \u00ab\u00a0case \u00e0 cocher\u00a0\u00bb, \u00ab\u00a0date ou heure\u00a0\u00bb et \u00ab\u00a0liste d\u00e9roulante\u00a0\u00bb.<\/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>Gestion des erreurs<\/strong>: Dans le bloc \u00ab\u00a0process\u00a0\u00bb, le script utilise une instruction \u00ab\u00a0try-catch\u00a0\u00bb pour g\u00e9rer les erreurs pendant l&rsquo;op\u00e9ration de param\u00e9trage du champ, en veillant \u00e0 ce que tout probl\u00e8me soit d\u00e9tect\u00e9 et signal\u00e9 clairement.<\/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>Flux d&rsquo;ex\u00e9cution<\/strong>: Le script se termine par l&rsquo;application des modifications et l&rsquo;affichage d&rsquo;un message de r\u00e9ussite.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Prenons l&rsquo;exemple d&rsquo;un MSP qui g\u00e8re l&rsquo;infrastructure informatique d&rsquo;un client. Ils doivent mettre \u00e0 jour le statut de conformit\u00e9 sur de nombreux appareils. Gr\u00e2ce \u00e0 ce script, ils peuvent automatiser le processus et s&rsquo;assurer que le champ personnalis\u00e9 de chaque appareil est mis \u00e0 jour de mani\u00e8re pr\u00e9cise et efficace, ce qui permet de gagner du temps et de r\u00e9duire les erreurs.<\/p>\n<h2>Comparaisons<\/h2>\n<p>Les m\u00e9thodes traditionnelles peuvent impliquer des mises \u00e0 jour manuelles par le biais d&rsquo;une interface graphique, ce qui est sujet \u00e0 des erreurs humaines et prend du temps. Ce script, cependant, automatise le processus, fournissant une solution plus rapide, plus fiable et plus \u00e9volutive.<\/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=\"7\" data-aria-level=\"1\"><strong>Comment ce script g\u00e8re-t-il les diff\u00e9rents types de champs ?<\/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=\"7\" data-aria-level=\"1\">Le script comprend une logique sp\u00e9cifique pour traiter les diff\u00e9rents types de champs, garantissant ainsi un formatage correct des donn\u00e9es.<\/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=\"1\" data-aria-level=\"1\"><strong>Est-il n\u00e9cessaire d&rsquo;avoir des droits d&rsquo;administrateur pour ex\u00e9cuter ce script ?<\/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=\"1\" data-aria-level=\"1\">Oui, des droits d&rsquo;administration locale sont n\u00e9cessaires pour modifier les param\u00e8tres du syst\u00e8me.<\/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=\"2\" data-aria-level=\"1\"><strong>Ce script peut-il g\u00e9rer les erreurs pendant l&rsquo;ex\u00e9cution ?<\/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=\"2\" data-aria-level=\"1\">Oui, il utilise des blocs try-catch pour attraper et signaler les erreurs de mani\u00e8re efficace.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Implications<\/h2>\n<p>Si ce script am\u00e9liore l&rsquo;efficacit\u00e9, il a \u00e9galement des implications pour la s\u00e9curit\u00e9 informatique. Une utilisation non autoris\u00e9e pourrait conduire \u00e0 un traitement incorrect des donn\u00e9es ou \u00e0 des violations. Il est donc recommand\u00e9 de mettre en place des contr\u00f4les d&rsquo;acc\u00e8s et des audits stricts.<\/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=\"3\" data-aria-level=\"1\"><strong>Valider l&rsquo;entr\u00e9e<\/strong>: Veillez \u00e0 ce que toutes les entr\u00e9es du script soient valid\u00e9es afin d&rsquo;\u00e9viter les erreurs.<\/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>G\u00e9rer les autorisations<\/strong>: Restreignez l&rsquo;utilisation des scripts aux personnes autoris\u00e9es uniquement.<\/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>Utilisation de l&rsquo;audit<\/strong>: Conservez les journaux d&rsquo;ex\u00e9cution des scripts \u00e0 des fins de responsabilisation.<\/li>\n<\/ul>\n<h2>Conclusion :<\/h2>\n<p>\u00c0 une \u00e9poque o\u00f9 les donn\u00e9es sont reines, une gestion efficace et pr\u00e9cise des donn\u00e9es est cruciale. NinjaOne, associ\u00e9 aux <a href=\"https:\/\/www.ninjaonesandbox.dev\/script-hub\/\">scripts PowerShell<\/a>, offre une solution robuste aux MSP et aux professionnels de l&rsquo;informatique. Ce script illustre la mani\u00e8re dont l&rsquo;automatisation peut transformer des t\u00e2ches banales en processus efficaces, favorisant ainsi une <a href=\"https:\/\/www.ninjaonesandbox.dev\/enterprise-it-management\/infrastructure\/\">infrastructure informatique\u00a0<\/a> plus r\u00e9siliente et plus r\u00e9active.<\/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":[4281],"class_list":["post-248292","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\/248292","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=248292"}],"wp:attachment":[{"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/media?parent=248292"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/operating_system?post=248292"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaonesandbox.dev\/fr\/wp-json\/wp\/v2\/use_cases?post=248292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}