{"id":353642,"date":"2024-08-02T13:14:45","date_gmt":"2024-08-02T13:14:45","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/collecte-des-informations-sur-les-machines-virtuelles-promox-linux\/"},"modified":"2024-10-13T19:06:36","modified_gmt":"2024-10-13T19:06:36","slug":"collecte-des-informations-sur-les-machines-virtuelles-promox-linux","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/fr\/script-hub\/collecte-des-informations-sur-les-machines-virtuelles-promox-linux\/","title":{"rendered":"Guide de script Linux : Comment automatiser la collecte des informations sur les machines virtuelles sur Proxmox ?"},"content":{"rendered":"<p>Dans le monde informatique actuel, la gestion et la surveillance efficaces des environnements virtuels sont cruciales pour les administrateurs de syst\u00e8mes et les <a href=\"https:\/\/www.ninjaone.com\/fr\/quest-ce-quun-msp\" target=\"_blank\" rel=\"noopener\">fournisseurs de services g\u00e9r\u00e9s (MSP)<\/a>. Les environnements virtuels, comme ceux g\u00e9r\u00e9s par Proxmox, n\u00e9cessitent une surveillance r\u00e9guli\u00e8re pour garantir un fonctionnement sans probl\u00e8mes et des performances optimales.<\/p>\n<p>L&rsquo;automatisation de la collecte de l&rsquo;\u00e9tat des <a href=\"https:\/\/www.ninjaone.com\/fr\/plateforme-de-gestion-de-terminaux\/surveillance-des-machines-virtuelles\" target=\"_blank\" rel=\"noopener\">machines virtuelles (MV ou VM)<\/a> et des informations de base permet non seulement de gagner du temps, mais aussi de r\u00e9duire le risque d&rsquo;erreur humaine. Cet article pr\u00e9sente un script bash con\u00e7u pour r\u00e9cup\u00e9rer et afficher l&rsquo;\u00e9tat et les d\u00e9tails des invit\u00e9s Proxmox, d\u00e9montrant ainsi son utilit\u00e9 et la fa\u00e7on dont il peut simplifier les op\u00e9rations informatiques.<\/p>\n<h2>Contexte<\/h2>\n<p>Proxmox est une solution de gestion de la virtualisation open-source populaire, qui combine la virtualisation KVM et la virtualisation bas\u00e9e sur les conteneurs en une seule plateforme. Pour les professionnels de l&rsquo;informatique et les entreprises MSP, la surveillance de l&rsquo;\u00e9tat des machines virtuelles et des conteneurs est une t\u00e2che de routine mais vitale. Ce texte r\u00e9pond \u00e0 la n\u00e9cessit\u00e9 de disposer d&rsquo;une m\u00e9thode automatis\u00e9e et coh\u00e9rente pour recueillir et afficher les informations de la VM, en les pr\u00e9sentant dans un format facilement accessible et interpr\u00e9table.<\/p>\n<h2>Le script<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#!\/usr\/bin\/env bash\r\n\r\n# Description: This script gets the status and basic info of all Proxmox guests on a host and saves it to a WYSIWYG custom field.\r\n#\r\n# Release Notes: Initial Release\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#\r\n# Below are all the (case sensitive) valid parameters for this script.\r\n# Only the custom field name is required!\r\n# Preset Parameter: \"Custom_Field_Name\"\r\n#   Custom_Field_Name: The name of the WYSIWYG custom field to save the VM info to.\r\n\r\nCustom_Field_Name=$1\r\n\r\nif [[ -n \"${customFieldName}\" ]]; then\r\n    Custom_Field_Name=\"${customFieldName}\"\r\nfi\r\n\r\nif [[ -z \"${Custom_Field_Name}\" || \"${Custom_Field_Name}\" == \"null\" ]]; then\r\n    echo \"The custom field name is required.\"\r\n    echo \" Example: guests\"\r\n    exit 1\r\nfi\r\n\r\n# Check that we have the required tools\r\nif ! command -v pvesh &amp;&gt; \/dev\/null; then\r\n    echo \"The Proxmox VE API tool 'pvesh' is required.\"\r\n    exit 1\r\nfi\r\nif ! command -v python3 &amp;&gt; \/dev\/null; then\r\n    echo \"The python3 is required. Should already be installed.\"\r\n    exit 1\r\nfi\r\n\r\n# Check that we are running as root\r\nif [[ $EUID -ne 0 ]]; then\r\n    echo \"This script must be run as root.\"\r\n    exit 1\r\nfi\r\n\r\nfunction SetCustomField() {\r\n    \/opt\/NinjaRMMAgent\/programdata\/ninjarmm-cli \"$@\"\r\n}\r\n\r\n# Get the status and basic info of all Proxmox VMs on a host\r\nqemu_guests=$(pvesh get \/nodes\/localhost\/qemu --output-format=json)\r\n\r\n# Create a table to store the VM info with the headers: Name, Status, Memory, CPUs, Disk Sizes\r\nvm_table=\"&lt;table&gt;&lt;tr&gt;&lt;th&gt;Status&lt;\/th&gt;&lt;th&gt;ID&lt;\/th&gt;&lt;th&gt;Name&lt;\/th&gt;&lt;th&gt;Memory&lt;\/th&gt;&lt;th&gt;CPUs&lt;\/th&gt;&lt;th&gt;Disk Sizes Combined&lt;\/th&gt;&lt;\/tr&gt;\"\r\n\r\n# Loop through each VM and add the info to the table\r\nqemu_table=$(echo \"$qemu_guests\" | python3 -c '\r\nimport sys, json\r\n\r\n# Function to convert bytes to human readable format\r\ndef human_readable_size(size):\r\n    for unit in [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\"]:\r\n        if size &lt; 1024:\r\n            return f\"{size:.2f} {unit}\"\r\n        size \/= 1024\r\n\r\nqemu_guests = json.load(sys.stdin)\r\nvm_table = \"\"\r\n\r\nfor qemu in qemu_guests:\r\n    qemu_id = qemu[\"vmid\"]\r\n    qemu_name = qemu[\"name\"]\r\n    qemu_status = qemu[\"status\"]\r\n    # Convert the memory from bytes to GB\r\n    qemu_mem = human_readable_size(qemu[\"maxmem\"])\r\n    qemu_cpus = qemu[\"cpus\"]\r\n    # Convert the disk size from bytes to GB\r\n    qemu_disk = human_readable_size(qemu[\"maxdisk\"])\r\n\r\n    # Add HTML blank space if values are empty\r\n    qemu_id = qemu_id if qemu_id else \"&amp;nbsp;\"\r\n    qemu_name = qemu_name if qemu_name else \"&amp;nbsp;\"\r\n    qemu_mem = qemu_mem if qemu_mem else \"&amp;nbsp;\"\r\n    qemu_cpus = qemu_cpus if qemu_cpus else \"&amp;nbsp;\"\r\n    qemu_disk = qemu_disk if qemu_disk else \"&amp;nbsp;\"\r\n\r\n    if \"running\" in qemu_status:\r\n        status_text = \"&lt;tr class='\"'success'\"'&gt;&lt;td&gt;Running&lt;\/td&gt;\"\r\n    elif \"stopped\" in qemu_status:\r\n        status_text = \"&lt;tr class='\"'danger'\"'&gt;&lt;td&gt;Stopped&lt;\/td&gt;\"\r\n    else:\r\n        status_text = \"&lt;tr class='\"'other'\"'&gt;&lt;td&gt;{}&lt;\/td&gt;\".format(qemu_status)\r\n\r\n    vm_table += \"{}&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;\/tr&gt;\".format(\r\n        status_text, qemu_id, qemu_name, qemu_mem, qemu_cpus, qemu_disk\r\n    )\r\n\r\nprint(vm_table)\r\n')\r\nvm_table=\"$vm_table$qemu_table\"\r\n\r\n# Loop through each lxc and add the info to the table\r\nlxc_guests=$(pvesh get \/nodes\/localhost\/lxc --output-format=json)\r\n# Loop through each lxc and add the info to the table\r\nlxc_table=$(echo \"$lxc_guests\" | python3 -c '\r\nimport sys, json\r\n\r\n# Function to convert bytes to human readable format\r\ndef human_readable_size(size):\r\n    for unit in [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\"]:\r\n        if size &lt; 1024:\r\n            return f\"{size:.2f} {unit}\"\r\n        size \/= 1024\r\n\r\nlxc_guests = json.load(sys.stdin)\r\nvm_table = \"\"\r\n\r\nfor lxc in lxc_guests:\r\n    lxc_id = lxc[\"vmid\"]\r\n    lxc_name = lxc[\"name\"]\r\n    lxc_status = lxc[\"status\"]\r\n    # Convert the memory from bytes to GB\r\n    lxc_mem = human_readable_size(lxc[\"maxmem\"])\r\n    lxc_cpus = lxc[\"cpus\"]\r\n    # Convert the disk size from bytes to GB\r\n    lxc_disk = human_readable_size(lxc[\"maxdisk\"])\r\n\r\n    # Add HTML blank space if values are empty\r\n    lxc_id = lxc_id if lxc_id else \"&amp;nbsp;\"\r\n    lxc_name = lxc_name if lxc_name else \"&amp;nbsp;\"\r\n    lxc_mem = lxc_mem if lxc_mem else \"&amp;nbsp;\"\r\n    lxc_cpus = lxc_cpus if lxc_cpus else \"&amp;nbsp;\"\r\n    lxc_disk = lxc_disk if lxc_disk else \"&amp;nbsp;\"\r\n\r\n    if \"running\" in lxc_status:\r\n        status_text = \"&lt;tr class='\"'success'\"'&gt;&lt;td&gt;Running&lt;\/td&gt;\"\r\n    elif \"stopped\" in lxc_status:\r\n        status_text = \"&lt;tr class='\"'danger'\"'&gt;&lt;td&gt;Stopped&lt;\/td&gt;\"\r\n    else:\r\n        status_text = \"&lt;tr class='\"'other'\"'&gt;&lt;td&gt;{}&lt;\/td&gt;\".format(lxc_status)\r\n\r\n    vm_table += \"{}&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;td&gt;{}&lt;\/td&gt;&lt;\/tr&gt;\".format(\r\n        status_text, lxc_id, lxc_name, lxc_mem, lxc_cpus, lxc_disk\r\n    )\r\n\r\nprint(vm_table)\r\n')\r\nvm_table=\"$vm_table$lxc_table\"\r\n\r\n# Close the table\r\nvm_table=\"$vm_table&lt;\/table&gt;\"\r\n\r\n# Highlight the running and stopped VMs\r\nvm_table=$(echo \"$vm_table\" | sed 's\/&lt;tr&gt;&lt;td&gt;running&lt;\\\/td&gt;\/&lt;tr class=\"success\"&gt;&lt;td&gt;Running&lt;\\\/td&gt;\/')\r\nvm_table=$(echo \"$vm_table\" | sed 's\/&lt;tr&gt;&lt;td&gt;stopped&lt;\\\/td&gt;\/&lt;tr class=\"danger\"&gt;&lt;td&gt;Stopped&lt;\\\/td&gt;\/')\r\n\r\n# Save the table to the custom field\r\nif ! SetCustomField set \"$Custom_Field_Name\" \"$vm_table\"; then\r\n    echo \"Failed to save the Proxmox VM info to the custom field: $Custom_Field_Name\"\r\n    exit 1\r\nfi\r\necho \"The Proxmox VM info has been saved to the custom field: $Custom_Field_Name\"<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"blog-cta-new blog-cta-style-1\"><div class=\"cta-left\"><h2><\/h2><p><\/p><\/div><div class=\"cta-right\"><a class=\"button\" href=\"\"><\/a><\/div><\/div>\n<h2>Description d\u00e9taill\u00e9e<\/h2>\n<p>Le script bash fourni r\u00e9cup\u00e8re l&rsquo;\u00e9tat et les informations essentielles de tous les invit\u00e9s Proxmox sur un h\u00f4te et enregistre ces donn\u00e9es dans un champ personnalis\u00e9. Cette fonction est particuli\u00e8rement utile dans les environnements comportant de nombreuses machines virtuelles, o\u00f9 les v\u00e9rifications manuelles peuvent prendre du temps et \u00eatre source d&rsquo;erreurs.<\/p>\n<h3>Explication \u00e9tape par \u00e9tape<\/h3>\n<h4>1. Initialisation du script et gestion des param\u00e8tres :<\/h4>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">Le script commence par d\u00e9finir le nom du champ personnalis\u00e9, qui est un param\u00e8tre obligatoire. Ce nom de champ stocke les informations des machines virtuelles.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">Si le nom du champ personnalis\u00e9 n&rsquo;est pas fourni ou n&rsquo;est pas valide, le script se termine par un message d&rsquo;erreur.<\/li>\n<\/ul>\n<h4>2. Contr\u00f4le de la disponibilit\u00e9 des outils :<\/h4>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">Le script v\u00e9rifie la disponibilit\u00e9 des outils requis : pvesh (outil Proxmox VE API) et python3. Si ces outils ne sont pas trouv\u00e9s, le script se termine par un message d&rsquo;erreur.<\/li>\n<\/ul>\n<h4>3. V\u00e9rification de l&rsquo;acc\u00e8s root :<\/h4>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">Le script v\u00e9rifie s&rsquo;il est ex\u00e9cut\u00e9 avec des droits d&rsquo;administrateur. Si ce n&rsquo;est pas le cas, il se termine par un message d&rsquo;erreur.<\/li>\n<\/ul>\n<h4>4. R\u00e9cup\u00e9ration des informations sur les machines virtuelles :<\/h4>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">\u00c0 l&rsquo;aide de pvesh, le script r\u00e9cup\u00e8re des informations sur les MV QEMU et les conteneurs LXC de l&rsquo;h\u00f4te Proxmox.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">Ces informations sont trait\u00e9es \u00e0 l&rsquo;aide de Python pour g\u00e9n\u00e9rer un tableau HTML contenant des d\u00e9tails tels que l&rsquo;\u00e9tat, l&rsquo;ID, le nom, la m\u00e9moire, les unit\u00e9s centrales et les tailles combin\u00e9es des disques.<\/li>\n<\/ul>\n<h4>5. G\u00e9n\u00e9ration d&rsquo;un tableau HTML :<\/h4>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">Le script Python int\u00e9gr\u00e9 au script bash formate les donn\u00e9es JSON r\u00e9cup\u00e9r\u00e9es dans un tableau HTML. Ce tableau est con\u00e7u pour mettre en \u00e9vidence de mani\u00e8re diff\u00e9rente les machines virtuelles en cours d&rsquo;ex\u00e9cution et les machines virtuelles arr\u00eat\u00e9es.<\/li>\n<\/ul>\n<h4>6. Enregistrement du tableau dans un champ personnalis\u00e9 :<\/h4>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:1440,&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=\"2\">Le tableau HTML g\u00e9n\u00e9r\u00e9 est enregistr\u00e9 dans le champ personnalis\u00e9 sp\u00e9cifi\u00e9 \u00e0 l&rsquo;aide de l&rsquo;outil CLI de NinjaOne.<\/li>\n<\/ul>\n<h2>Cas d&rsquo;utilisation potentiels<\/h2>\n<p>Imaginez une entreprise MSP qui g\u00e8re plusieurs environnements Proxmox pour diff\u00e9rents clients. La v\u00e9rification manuelle de l&rsquo;\u00e9tat et de l&rsquo;allocation des ressources de chaque machine virtuelle sur diff\u00e9rents h\u00f4tes peut s&rsquo;av\u00e9rer fastidieuse. En d\u00e9ployant ce script, l&rsquo;entreprise MSP peut automatiser la collecte de ces donn\u00e9es et les rendre facilement disponibles dans un champ personnalis\u00e9, accessible via son interface de gestion. Cela permet non seulement d&rsquo;am\u00e9liorer <a href=\"https:\/\/www.ninjaone.com\/fr\/efficacite\" target=\"_blank\" rel=\"noopener\">l&rsquo;efficacit\u00e9<\/a>, mais aussi de garantir une r\u00e9ponse rapide aux probl\u00e8mes qui se posent.<\/p>\n<h2>Comparaisons<\/h2>\n<p>D&rsquo;autres m\u00e9thodes de collecte d&rsquo;informations sur les VM peuvent impliquer l&rsquo;ex\u00e9cution manuelle de commandes et la compilation des r\u00e9sultats, ce qui prend du temps et est sujet \u00e0 des erreurs. Des outils tels que l&rsquo;interface web de Proxmox fournissent les informations n\u00e9cessaires, mais n\u00e9cessitent une navigation et une v\u00e9rification manuelles. En revanche, ce script <a href=\"https:\/\/www.ninjaone.com\/fr\/blog\/tout-ce-que-vous-devez-savoir-sur-lautomatisation\" target=\"_blank\" rel=\"noopener\">automatise<\/a> l&rsquo;ensemble du processus, ce qui garantit la coh\u00e9rence et permet de gagner un temps pr\u00e9cieux.<\/p>\n<h2>FAQ<\/h2>\n<p><strong>Q\u00a0: Que se passe-t-il si le script ne trouve pas pvesh ou python3 ?<\/strong><br \/>\nR\u00a0: Le script v\u00e9rifie la pr\u00e9sence de ces d\u00e9pendances au d\u00e9marrage et se termine par un message d&rsquo;erreur clair si elles ne sont pas trouv\u00e9es, guidant l&rsquo;utilisateur pour qu&rsquo;il installe les outils manquants.<\/p>\n<p><strong>Q\u00a0: Le script peut-il \u00eatre ex\u00e9cut\u00e9 sans les privil\u00e8ges de super-utilisateur (root) ?<\/strong><br \/>\nR\u00a0: Non, le script doit \u00eatre ex\u00e9cut\u00e9 en tant que root pour acc\u00e9der aux informations syst\u00e8me n\u00e9cessaires.<\/p>\n<p><strong>Q\u00a0: Que se passe-t-il si le nom du champ personnalis\u00e9 n&rsquo;est pas fourni ?<\/strong><br \/>\nR\u00a0: Le script requiert le nom du champ personnalis\u00e9 comme param\u00e8tre. S&rsquo;il n&rsquo;est pas fourni, le script se termine par un message d&rsquo;erreur.<\/p>\n<h2>Implications<\/h2>\n<p>L&rsquo;automatisation de la collecte des informations des machines virtuelles permet non seulement d&rsquo;am\u00e9liorer l&rsquo;efficacit\u00e9 op\u00e9rationnelle, mais aussi de renforcer la s\u00e9curit\u00e9 informatique. Des contr\u00f4les r\u00e9guliers et automatis\u00e9s permettent de s&rsquo;assurer que toutes les machines virtuelles sont prises en compte et fonctionnent comme pr\u00e9vu, ce qui <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-network-downtime\/\" target=\"_blank\" rel=\"noopener\">r\u00e9duit le risque de temps d&rsquo;arr\u00eat inaper\u00e7us<\/a> ou d&rsquo;erreurs d&rsquo;allocation des ressources.<\/p>\n<h2>Recommandations<\/h2>\n<p>Lorsque vous utilisez ce script, assurez-vous que :<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" 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\">Le script est ex\u00e9cut\u00e9 \u00e0 intervalles r\u00e9guliers afin de maintenir \u00e0 jour les informations \u00e0 propos des machines virtuelles.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" 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\">Les autorisations appropri\u00e9es sont d\u00e9finies pour que le script s&rsquo;ex\u00e9cute en tant que root.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" 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\">Les d\u00e9pendances (pvesh, python3, NinjaOne CLI) sont install\u00e9es et correctement configur\u00e9es.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Ce script est un outil pr\u00e9cieux pour les professionnels de l&rsquo;informatique qui g\u00e8rent des environnements Proxmox, car il simplifie le processus de collecte et d&rsquo;affichage des informations sur les machines virtuelles. Pour ceux qui utilisent <a href=\"https:\/\/www.ninjaone.com\/fr\/\" target=\"_blank\" rel=\"noopener\">NinjaOne<\/a>, ce script s&rsquo;int\u00e8gre davantage dans leur flux de travail, facilitant le maintien d&rsquo;une vue claire et actualis\u00e9e de leur infrastructure virtuelle. En automatisant les t\u00e2ches de routine, les professionnels de l&rsquo;informatique peuvent se concentrer sur des activit\u00e9s plus strat\u00e9giques, ce qui am\u00e9liore la productivit\u00e9 globale et la fiabilit\u00e9 du syst\u00e8me.<\/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":"","_lmt_disable":""},"operating_system":[4211],"use_cases":[4281],"class_list":["post-353642","script_hub","type-script_hub","status-publish","hentry","script_hub_category-linux","use_cases-configuration-generale"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/script_hub\/353642","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=353642"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=353642"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/operating_system?post=353642"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/use_cases?post=353642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}