diff --git a/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/applications-veeam-wsman.md b/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/applications-veeam-wsman.md
new file mode 100644
index 000000000000..4a53dc6646bb
--- /dev/null
+++ b/i18n/fr/docusaurus-plugin-content-docs-pp/current/integrations/plugin-packs/procedures/applications-veeam-wsman.md
@@ -0,0 +1,510 @@
+---
+id: applications-veeam-wsman
+title: Veeam WSMAN
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+## Contenu du pack
+
+### Modèles
+
+Le connecteur de supervision **Veeam WSMAN** apporte un modèle d'hôte :
+
+* **App-Veeam-WSMAN-custom**
+
+Le connecteur apporte les modèles de service suivants
+(classés selon le modèle d'hôte auquel ils sont rattachés) :
+
+
+
+
+| Alias | Modèle de service | Description |
+|:-------------|:------------------------------------|:-------------------------------------------------------|
+| Job-Status | App-Veeam-Job-Status-WSMAN-custom | Supervision de l'état des jobs de sauvegarde |
+| Licenses | App-Veeam-Licenses-WSMAN-custom | Supervision des licences |
+| Repositories | App-Veeam-Repositories-WSMAN-custom | Supervision des dépôts de sauvegarde |
+| Tape-Jobs | App-Veeam-Tape-Jobs-WSMAN-custom | Supervision de l'état des jobs de sauvegarde sur bande |
+| Vsb-Jobs | App-Veeam-Vsb-Jobs-WSMAN-custom | Contrôle l'état des jobs SureBackup |
+
+> Les services listés ci-dessus sont créés automatiquement lorsque le modèle d'hôte **App-Veeam-WSMAN-custom** est utilisé.
+
+
+
+
+### Métriques & statuts collectés
+
+Voici le tableau des services pour ce connecteur, détaillant les métriques rattachées à chaque service.
+
+
+
+
+| Métrique | Unité |
+|:--------------------|:------|
+| jobs.detected.count | count |
+| *job*#status | N/A |
+| *job*#long | N/A |
+
+
+
+
+| Métrique | Unité |
+|:----------------------------------------------|:------|
+| licenses.total.count | count |
+| *licenses*#status | N/A |
+| *licenses*#license.expires.seconds | s |
+| *licenses*#license.instances.usage.count | count |
+| *licenses*#license.instances.free.count | count |
+| *licenses*#license.instances.usage.percentage | % |
+
+
+
+
+| Métrique | Unité |
+|:-------------------------------------------------|:------|
+| *repositories*~status | N/A |
+| *repositories*~repository.space.usage.bytes | B |
+| *repositories*~repository.space.free.bytes | B |
+| *repositories*~repository.space.usage.percentage | % |
+
+
+
+
+| Métrique | Unité |
+|:---------------------|:------|
+| tapejobs.total.count | count |
+
+
+
+
+| Métrique | Unité |
+|:--------------------------------|:------|
+| sure_backup.jobs.detected.count | count |
+| sure_backup.jobs.success.count | count |
+| sure_backup.jobs.failed.count | count |
+| sure_backup.jobs.warning.count | count |
+| *jobs*#status | N/A |
+
+
+
+
+## Prérequis
+
+Pour superviser les serveurs Windows via WSMAN, merci de suivre notre [documentation officielle](../getting-started/how-to-guides/windows-winrm-wsman-tutorial.md) et de vous assurer que WinRM et vos droits sont correctement configurés.
+
+## Installer le connecteur de supervision
+
+### Pack
+
+1. Si la plateforme est configurée avec une licence *online*, l'installation d'un paquet
+n'est pas requise pour voir apparaître le connecteur dans le menu **Configuration > Gestionnaire de connecteurs de supervision**.
+Au contraire, si la plateforme utilise une licence *offline*, installez le paquet
+sur le **serveur central** via la commande correspondant au gestionnaire de paquets
+associé à sa distribution :
+
+
+
+
+```bash
+dnf install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+```bash
+dnf install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+```bash
+apt install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+```bash
+yum install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+2. Quel que soit le type de la licence (*online* ou *offline*), installez le connecteur **Veeam WSMAN**
+depuis l'interface web et le menu **Configuration > Gestionnaire de connecteurs de supervision**.
+
+### Plugin
+
+À partir de Centreon 22.04, il est possible de demander le déploiement automatique
+du plugin lors de l'utilisation d'un connecteur. Si cette fonctionnalité est activée, et
+que vous ne souhaitez pas découvrir des éléments pour la première fois, alors cette
+étape n'est pas requise.
+
+> Plus d'informations dans la section [Installer le plugin](/docs/monitoring/pluginpacks/#installer-le-plugin).
+
+Utilisez les commandes ci-dessous en fonction du gestionnaire de paquets de votre système d'exploitation :
+
+
+
+
+```bash
+dnf install centreon-plugin-Applications-Backup-Veeam-Wsman
+```
+
+
+
+
+```bash
+dnf install centreon-plugin-Applications-Backup-Veeam-Wsman
+```
+
+
+
+
+```bash
+apt install centreon-plugin-applications-backup-veeam-wsman
+```
+
+
+
+
+```bash
+yum install centreon-plugin-Applications-Backup-Veeam-Wsman
+```
+
+
+
+
+## Utiliser le connecteur de supervision
+
+### Utiliser un modèle d'hôte issu du connecteur
+
+1. Ajoutez un hôte à Centreon depuis la page **Configuration > Hôtes**.
+2. Complétez les champs **Nom**, **Alias** & **IP Address/DNS** correspondant à votre ressource.
+3. Appliquez le modèle d'hôte **App-Veeam-WSMAN-custom**. Une liste de macros apparaît. Les macros vous permettent de définir comment le connecteur se connectera à la ressource, ainsi que de personnaliser le comportement du connecteur.
+4. Renseignez les macros désirées. Attention, certaines macros sont obligatoires.
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:------------------|:---------------------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| WSMANUSERNAME | Define the username for authentication | USERNAME | |
+| WSMANPASSWORD | Define the password associated with the user name | PASSWORD | |
+| WSMANPORT | Define the port to connect to (default: 5985) | 5985 | |
+| WSMANAUTHMETHOD | Define the authentication method. Available methods: noauth, basic (default), pass, digest, ntlm, gssnegotiate | basic | |
+| WSMANPATH | Define the path of the WSMAN URL if it has been customized (default: '/wsman') | /wsman | |
+| WSMANSCHEME | Define the transport scheme (default: 'http') | http | |
+| WSMANEXTRAOPTIONS | Any extra option you may want to add to every command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | | |
+
+5. [Déployez la configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). L'hôte apparaît dans la liste des hôtes supervisés, et dans la page **Statut des ressources**. La commande envoyée par le connecteur est indiquée dans le panneau de détails de l'hôte : celle-ci montre les valeurs des macros.
+
+### Utiliser un modèle de service issu du connecteur
+
+1. Si vous avez utilisé un modèle d'hôte et coché la case **Créer aussi les services liés aux modèles**, les services associés au modèle ont été créés automatiquement, avec les modèles de services correspondants. Sinon, [créez les services désirés manuellement](/docs/monitoring/basic-objects/services) et appliquez-leur un modèle de service.
+2. Renseignez les macros désirées (par exemple, ajustez les seuils d'alerte). Les macros indiquées ci-dessous comme requises (**Obligatoire**) doivent être renseignées.
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------|:-----------:|
+| FILTERENDTIME | Filter out jobs whose end date is older than the value specified in seconds (Default: 86400) | 86400 | |
+| FILTERNAME | Filter job name (can be a regexp) | | |
+| FILTERSTARTTIME | Filter out jobs whose start date is older than the value specified in seconds | | |
+| FILTERCOUNTERS | | | |
+| OKSTATUS | Set ok threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled} | | |
+| WARNINGLONG | Set warning threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed} | | |
+| CRITICALLONG | Set critical threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed} | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: '%{is\_running} == 0 and not %{status} =~ /Success/i'). Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled} | %{is\_running} == 0 and not %{status} =~ /Success/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:----------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------|:-----------:|
+| FILTERTO | Filter licenses by person/organization (can be a regexp) | | |
+| FILTERTYPE | Filter licenses by type (can be a regexp) | | |
+| FILTERSTATUS | Filter licenses by status (can be a regexp) | | |
+| UNIT | Select the unit for expiration thresholds. May be 's' for seconds,'m' for minutes, 'h' for hours, 'd' for days, 'w' for weeks. Default is seconds | | |
+| WARNINGEXPIRES | Thresholds | | |
+| CRITICALEXPIRES | Thresholds | | |
+| WARNINGLICENSEINSTANCESFREE | Thresholds | | |
+| CRITICALLICENSEINSTANCESFREE | Thresholds | | |
+| WARNINGLICENSEINSTANCESUSAGE | Thresholds | | |
+| CRITICALLICENSEINSTANCESUSAGE | Thresholds | | |
+| WARNINGLICENSEINSTANCESUSAGEPRCT | Thresholds | | |
+| CRITICALLICENSEINSTANCESUSAGEPRCT | Thresholds | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: '%{status} =~ /expired\|invalid/i'). Can use special variables like: %{to}, %{status}, %{type} | %{status} =~ /expired\|invalid/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{to}, %{status}, %{type} | | |
+| WARNINGTOTAL | Thresholds | | |
+| CRITICALTOTAL | Thresholds | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:-----------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------|:-----------:|
+| FILTERNAME | Filter repositories by name (can be a regexp) | | |
+| FILTERTYPE | Filter repositories by type (can be a regexp) | | |
+| WARNINGSPACEUSAGE | Thresholds | | |
+| CRITICALSPACEUSAGE | Thresholds | | |
+| WARNINGSPACEUSAGEFREE | Thresholds | | |
+| CRITICALSPACEUSAGEFREE | Thresholds | | |
+| WARNINGSPACEUSAGEPRCT | Thresholds | | |
+| CRITICALSPACEUSAGEPRCT | Thresholds | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: 'not %{status} =~ /ordinal\|maintenance/i'). Can use special variables like: %{status}, %{name}, %{type} | not %{status} =~ /ordinal\|maintenance/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{status}, %{name}, %{type} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:---------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------|:-----------:|
+| FILTERNAME | Filter job name (can be a regexp) | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: '%{enabled} == 1 and not %{last\_result} =~ /Success\|None/i'). Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state} | %{enabled} == 1 and not %{last\_result} =~ /Success\|None/i | |
+| WARNINGSTATUS | Set warning threshold for status (Default: '') Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state} | | |
+| WARNINGTOTAL | Set warning threshold for total jobs | | |
+| CRITICALTOTAL | Set critical threshold for total jobs | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | --verbose | |
+
+
+
+
+| Macro | Description | Valeur par défaut | Obligatoire |
+|:---------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------|:-----------:|
+| FILTERNAME | Filter job name (can be a regexp) | | |
+| FILTERTYPE | Filter job type (can be a regexp) | | |
+| WARNINGJOBSWARNING | Thresholds | | |
+| CRITICALJOBSWARNING | Thresholds | | |
+| WARNINGJOBSDETECTED | Thresholds | | |
+| CRITICALJOBSDETECTED | Thresholds | | |
+| WARNINGJOBSFAILED | Thresholds | | |
+| CRITICALJOBSFAILED | Thresholds | | |
+| WARNINGJOBSSUCCESS | Thresholds | | |
+| CRITICALJOBSSUCCESS | Thresholds | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: 'not %{status} =~ /success/i'). Can use special variables like: %{name}, %{type}, %{status}, %{duration} | not %{status} =~ /success/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{name}, %{type}, %{status}, %{duration} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées [ici](#options-disponibles). | --verbose | |
+
+
+
+
+3. [Déployez la configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). Le service apparaît dans la liste des services supervisés, et dans la page **Statut des ressources**. La commande envoyée par le connecteur est indiquée dans le panneau de détails du service : celle-ci montre les valeurs des macros.
+
+## Comment puis-je tester le plugin et que signifient les options des commandes ?
+
+Une fois le plugin installé, vous pouvez tester celui-ci directement en ligne
+de commande depuis votre collecteur Centreon en vous connectant avec
+l'utilisateur **centreon-engine** (`su - centreon-engine`). Vous pouvez tester
+que le connecteur arrive bien à superviser une ressource en utilisant une commande
+telle que celle-ci (remplacez les valeurs d'exemple par les vôtres) :
+
+```bash
+/usr/lib/centreon/plugins/centreon_veeam_backup_wsman.pl \
+ --plugin=apps::backup::veeam::wsman::plugin \
+ --mode=tape-jobs \
+ --hostname='10.0.0.1' \
+ --wsman-port='5985' \
+ --wsman-path='/wsman' \
+ --wsman-scheme='http' \
+ --wsman-username='USERNAME' \
+ --wsman-password='PASSWORD' \
+ --wsman-auth-method='basic' \
+ --filter-name="" \
+ --warning-status="" \
+ --critical-status="%{enabled} == 1 and not %{last_result} =~ /Success|None/i" \
+ --warning-total="" \
+ --critical-total="" \
+ --verbose
+```
+
+La commande devrait retourner un message de sortie similaire à :
+
+```bash
+OK: total jobs: 11 All jobs are ok | 'tapejobs.total.count'=11;;;0;
+```
+
+### Diagnostic des erreurs communes
+
+Rendez-vous sur la [documentation dédiée](../getting-started/how-to-guides/troubleshooting-plugins.md)
+pour le diagnostic des erreurs communes des plugins Centreon.
+
+### Modes disponibles
+
+Dans la plupart des cas, un mode correspond à un modèle de service. Le mode est renseigné dans la commande d'exécution
+du connecteur. Dans l'interface de Centreon, il n'est pas nécessaire de les spécifier explicitement, leur utilisation est
+implicite dès lors que vous utilisez un modèle de service. En revanche, vous devrez spécifier le mode correspondant à ce
+modèle si vous voulez tester la commande d'exécution du connecteur dans votre terminal.
+
+Tous les modes disponibles peuvent être affichés en ajoutant le paramètre
+`--list-mode` à la commande :
+
+```bash
+/usr/lib/centreon/plugins/centreon_veeam_backup_wsman.pl \
+ --plugin=apps::backup::veeam::wsman::plugin \
+ --list-mode
+```
+
+Le plugin apporte les modes suivants :
+
+| Mode | Modèle de service associé |
+|:-------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------|
+| job-status [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/jobstatus.pm)] | App-Veeam-Job-Status-WSMAN-custom |
+| licenses [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/licenses.pm)] | App-Veeam-Licenses-WSMAN-custom |
+| list-jobs [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/listjobs.pm)] | Not used in this Monitoring Connector |
+| list-repositories [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/listrepositories.pm)] | Not used in this Monitoring Connector |
+| repositories [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/repositories.pm)] | App-Veeam-Repositories-WSMAN-custom |
+| tape-jobs [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/tapejobs.pm)] | App-Veeam-Tape-Jobs-WSMAN-custom |
+| vsb-jobs [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/vsbjobs.pm)] | App-Veeam-Vsb-Jobs-WSMAN-custom |
+
+### Options disponibles
+
+#### Options génériques
+
+Les options génériques sont listées ci-dessous :
+
+| Option | Description |
+|:-------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --mode | Define the mode in which you want the plugin to be executed (see--list-mode). |
+| --dyn-mode | Specify a mode with the module's path (advanced). |
+| --list-mode | List all available modes. |
+| --mode-version | Check minimal version of mode. If not, unknown error. |
+| --version | Return the version of the plugin. |
+| --pass-manager | Define the password manager you want to use. Supported managers are: environment, file, keepass, hashicorpvault and teampass. |
+| --verbose | Display extended status information (long output). |
+| --debug | Display debug messages. |
+| --filter-perfdata | Filter perfdata that match the regexp. Example: adding --filter-perfdata='avg' will remove all metrics that do not contain 'avg' from performance data. |
+| --filter-perfdata-adv | Filter perfdata based on a "if" condition using the following variables: label, value, unit, warning, critical, min, max. Variables must be written either %{variable} or %(variable). Example: adding --filter-perfdata-adv='not (%(value) == 0 and %(max) eq "")' will remove all metrics whose value equals 0 and that don't have a maximum value. |
+| --explode-perfdata-max | Create a new metric for each metric that comes with a maximum limit. The new metric will be named identically with a '\_max' suffix). Example: it will split 'used\_prct'=26.93%;0:80;0:90;0;100 into 'used\_prct'=26.93%;0:80;0:90;0;100 'used\_prct\_max'=100%;;;; |
+| --change-perfdata --extend-perfdata | Change or extend perfdata. Syntax: --extend-perfdata=searchlabel,newlabel,target\[,\[newuom\],\[min\],\[m ax\]\] Common examples: Convert storage free perfdata into used: --change-perfdata='free,used,invert()' Convert storage free perfdata into used: --change-perfdata='used,free,invert()' Scale traffic values automatically: --change-perfdata='traffic,,scale(auto)' Scale traffic values in Mbps: --change-perfdata='traffic\_in,,scale(Mbps),mbps' Change traffic values in percent: --change-perfdata='traffic\_in,,percent()' |
+| --extend-perfdata-group | Add new aggregated metrics (min, max, average or sum) for groups of metrics defined by a regex match on the metrics' names. Syntax: --extend-perfdata-group=regex,namesofnewmetrics,calculation\[,\[ne wuom\],\[min\],\[max\]\] regex: regular expression namesofnewmetrics: how the new metrics' names are composed (can use $1, $2... for groups defined by () in regex). calculation: how the values of the new metrics should be calculated newuom (optional): unit of measure for the new metrics min (optional): lowest value the metrics can reach max (optional): highest value the metrics can reach Common examples: Sum wrong packets from all interfaces (with interface need --units-errors=absolute): --extend-perfdata-group=',packets\_wrong,sum(packets\_(discard \|error)\_(in\|out))' Sum traffic by interface: --extend-perfdata-group='traffic\_in\_(.*),traffic\_$1,sum(traf fic\_(in\|out)\_$1)' |
+| --change-short-output --change-long-output | Modify the short/long output that is returned by the plugin. Syntax: --change-short-output=pattern~replacement~modifier Most commonly used modifiers are i (case insensitive) and g (replace all occurrences). Example: adding --change-short-output='OK~Up~gi' will replace all occurrences of 'OK', 'ok', 'Ok' or 'oK' with 'Up' |
+| --change-exit | Replace an exit code with one of your choice. Example: adding --change-exit=unknown=critical will result in a CRITICAL state instead of an UNKNOWN state. |
+| --range-perfdata | Rewrite the ranges displayed in the perfdata. Accepted values: 0: nothing is changed. 1: if the lower value of the range is equal to 0, it is removed. 2: remove the thresholds from the perfdata. |
+| --filter-uom | Mask the units when they don't match the given regular expression. |
+| --opt-exit | Replace the exit code in case of an execution error (i.e. wrong option provided, SSH connection refused, timeout, etc). Default: unknown. |
+| --output-ignore-perfdata | Remove all the metrics from the service. The service will still have a status and an output. |
+| --output-ignore-label | Remove the status label ("OK:", "WARNING:", "UNKNOWN:", CRITICAL:") from the beginning of the output. Example: 'OK: Ram Total:...' will become 'Ram Total:...' |
+| --output-xml | Return the output in XML format (to send to an XML API). |
+| --output-json | Return the output in JSON format (to send to a JSON API). |
+| --output-openmetrics | Return the output in OpenMetrics format (to send to a tool expecting this format). |
+| --output-file | Write output in file (can be combined with json, xml and openmetrics options). E.g.: --output-file=/tmp/output.txt will write the output in /tmp/output.txt. |
+| --disco-format | Applies only to modes beginning with 'list-'. Returns the list of available macros to configure a service discovery rule (formatted in XML). |
+| --disco-show | Applies only to modes beginning with 'list-'. Returns the list of discovered objects (formatted in XML) for service discovery. |
+| --float-precision | Define the float precision for thresholds (default: 8). |
+| --source-encoding | Define the character encoding of the response sent by the monitored resource Default: 'UTF-8'. Need at least openwsman-perl version \>= 2.4.0 |
+| --hostname | Define the hostname to query (mandatory). |
+| --wsman-port | Define the port to connect to (default: 5985). |
+| --wsman-path | Define the path of the WSMAN URL if it has been customized (default: '/wsman'). |
+| --wsman-scheme | Define the transport scheme (default: 'http'). |
+| --wsman-username | Define the username for authentication. |
+| --wsman-password | Define the password associated with the user name. |
+| --wsman-timeout | Define the HTTP transport timeout in seconds (default: 30). |
+| --wsman-auth-method | Define the authentication method. Available methods: noauth, basic (default), pass, digest, ntlm, gssnegotiate. |
+| --wsman-proxy-url | Define the URL of the HTTP proxy to use. |
+| --wsman-proxy-username | Define the user name to authenticate to the proxy server. |
+| --wsman-proxy-password | Define the password to authenticate to the proxy server. |
+| --wsman-debug | Define the openwsman log level. Available levels: error, critical, warning, message, info (default), debug. |
+| --wsman-errors-exit | Define the expected exit code when wsman errors occur (default: unknown). |
+
+#### Options des modes
+
+Les options disponibles pour chaque modèle de services sont listées ci-dessous :
+
+
+
+
+| Option | Description |
+|:--------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter job name (can be a regexp). |
+| --exclude-name | Exclude job name (regexp can be used). |
+| --filter-type | Filter job type (can be a regexp). |
+| --filter-start-time | Filter job with start time greater than current time less value in seconds. |
+| --filter-end-time | Filter job with end time greater than current time less value in seconds (Default: 86400). |
+| --ok-status | Set ok threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled}. |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled}. |
+| --critical-status | Set critical threshold for status (Default: '%{is\_running} == 0 and not %{status} =~ /Success/i'). Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled}. |
+| --warning-long | Set warning threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed}. |
+| --critical-long | Set critical threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed}. |
+| --warning-total | Set warning threshold for total jobs. |
+| --critical-total | Set critical threshold for total jobs. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-to | Filter licenses by person/organization (can be a regexp). |
+| --filter-type | Filter licenses by type (can be a regexp). |
+| --filter-status | Filter licenses by status (can be a regexp). |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{to}, %{status}, %{type}. |
+| --critical-status | Set critical threshold for status (Default: '%{status} =~ /expired\|invalid/i'). Can use special variables like: %{to}, %{status}, %{type}. |
+| --unit | Select the unit for expires threshold. May be 's' for seconds,'m' for minutes, 'h' for hours, 'd' for days, 'w' for weeks. Default is seconds. |
+| --warning-* --critical-* | Thresholds. Can be: 'total', 'expires', 'license-instances-usage', 'license-instances-free', 'license-instances-usage-prct'. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter repositories by name (can be a regexp). |
+| --exclude-name | Exclude repositories by name (regexp can be used). |
+| --filter-type | Filter repositories by type (can be a regexp). |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{status}, %{name}, %{type}. |
+| --critical-status | Set critical threshold for status (Default: 'not %{status} =~ /ordinal\|maintenance/i'). Can use special variables like: %{status}, %{name}, %{type}. |
+| --warning-* --critical-* | Thresholds. Can be: 'space-usage', 'space-usage-free', 'space-usage-prct'. |
+
+
+
+
+| Option | Description |
+|:------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter job name (can be a regexp). |
+| --exclude-name | Exclude job name (regexp can be used). |
+| --filter-type | Filter job type (can be a regexp). |
+| --unknown-status | Set unknown threshold for status (Default: '') Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state}. |
+| --warning-status | Set warning threshold for status (Default: '') Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state}. |
+| --critical-status | Set critical threshold for status (Default: '%{enabled} == 1 and not %{last\_result} =~ /Success\|None/i'). Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state}. |
+| --warning-total | Set warning threshold for total jobs. |
+| --critical-total | Set critical threshold for total jobs. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter job name (can be a regexp). |
+| --exclude-name | Exclude job name (regexp can be used). |
+| --filter-type | Filter job type (can be a regexp). |
+| --unknown-status | Set unknown threshold for status. Can use special variables like: %{name}, %{type}, %{status}, %{duration}. |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{name}, %{type}, %{status}, %{duration}. |
+| --critical-status | Set critical threshold for status (Default: 'not %{status} =~ /success/i'). Can use special variables like: %{name}, %{type}, %{status}, %{duration}. |
+| --warning-* --critical-* | Thresholds. Can be: 'jobs-detected', 'jobs-success', 'jobs-warning', 'jobs-failed'. |
+
+
+
+
+Pour un mode, la liste de toutes les options disponibles et leur signification peut être
+affichée en ajoutant le paramètre `--help` à la commande :
+
+```bash
+/usr/lib/centreon/plugins/centreon_veeam_backup_wsman.pl \
+ --plugin=apps::backup::veeam::wsman::plugin \
+ --mode=tape-jobs \
+ --help
+```
diff --git a/pp/integrations/plugin-packs/procedures/applications-veeam-wsman.md b/pp/integrations/plugin-packs/procedures/applications-veeam-wsman.md
new file mode 100644
index 000000000000..7f7ef17d1fab
--- /dev/null
+++ b/pp/integrations/plugin-packs/procedures/applications-veeam-wsman.md
@@ -0,0 +1,509 @@
+---
+id: applications-veeam-wsman
+title: Veeam WSMAN
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+## Pack assets
+
+### Templates
+
+The Monitoring Connector **Veeam WSMAN** brings a host template:
+
+* **App-Veeam-WSMAN-custom**
+
+The connector brings the following service templates (sorted by the host template they are attached to):
+
+
+
+
+| Service Alias | Service Template | Service Description |
+|:--------------|:------------------------------------|:----------------------------------------|
+| Job-Status | App-Veeam-Job-Status-WSMAN-custom | Monitor the statuses of the backup jobs |
+| Licenses | App-Veeam-Licenses-WSMAN-custom | Monitor licenses |
+| Repositories | App-Veeam-Repositories-WSMAN-custom | Monitor backup repositories |
+| Tape-Jobs | App-Veeam-Tape-Jobs-WSMAN-custom | Monitor the status of tape jobs |
+| Vsb-Jobs | App-Veeam-Vsb-Jobs-WSMAN-custom | Monitor SureBackup jobs |
+
+> The services listed above are created automatically when the **App-Veeam-WSMAN-custom** host template is used.
+
+
+
+
+### Collected metrics & status
+
+Here is the list of services for this connector, detailing all metrics linked to each service.
+
+
+
+
+| Metric name | Unit |
+|:--------------------|:------|
+| jobs.detected.count | count |
+| *job*#status | N/A |
+| *job*#long | N/A |
+
+
+
+
+| Metric name | Unit |
+|:----------------------------------------------|:------|
+| licenses.total.count | count |
+| *licenses*#status | N/A |
+| *licenses*#license.expires.seconds | s |
+| *licenses*#license.instances.usage.count | count |
+| *licenses*#license.instances.free.count | count |
+| *licenses*#license.instances.usage.percentage | % |
+
+
+
+
+| Metric name | Unit |
+|:-------------------------------------------------|:------|
+| *repositories*~status | N/A |
+| *repositories*~repository.space.usage.bytes | B |
+| *repositories*~repository.space.free.bytes | B |
+| *repositories*~repository.space.usage.percentage | % |
+
+
+
+
+| Metric name | Unit |
+|:---------------------|:------|
+| tapejobs.total.count | count |
+
+
+
+
+| Metric name | Unit |
+|:--------------------------------|:------|
+| sure_backup.jobs.detected.count | count |
+| sure_backup.jobs.success.count | count |
+| sure_backup.jobs.failed.count | count |
+| sure_backup.jobs.warning.count | count |
+| *jobs*#status | N/A |
+
+
+
+
+## Prerequisites
+
+To monitor Windows Servers through WSMAN, please follow our [official documentation](../getting-started/how-to-guides/windows-winrm-wsman-tutorial.md) and make sure that WinRM and all rights are properly configured.
+
+## Installing the monitoring connector
+
+### Pack
+
+1. If the platform uses an *online* license, you can skip the package installation
+instruction below as it is not required to have the connector displayed within the
+**Configuration > Monitoring Connector Manager** menu.
+If the platform uses an *offline* license, install the package on the **central server**
+with the command corresponding to the operating system's package manager:
+
+
+
+
+```bash
+dnf install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+```bash
+dnf install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+```bash
+apt install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+```bash
+yum install centreon-pack-applications-veeam-wsman
+```
+
+
+
+
+2. Whatever the license type (*online* or *offline*), install the **Veeam WSMAN** connector through
+the **Configuration > Monitoring Connector Manager** menu.
+
+### Plugin
+
+Since Centreon 22.04, you can benefit from the 'Automatic plugin installation' feature.
+When this feature is enabled, you can skip the installation part below.
+
+You still have to manually install the plugin on the poller(s) when:
+- Automatic plugin installation is turned off
+- You want to run a discovery job from a poller that doesn't monitor any resource of this kind yet
+
+> More information in the [Installing the plugin](/docs/monitoring/pluginpacks/#installing-the-plugin) section.
+
+Use the commands below according to your operating system's package manager:
+
+
+
+
+```bash
+dnf install centreon-plugin-Applications-Backup-Veeam-Wsman
+```
+
+
+
+
+```bash
+dnf install centreon-plugin-Applications-Backup-Veeam-Wsman
+```
+
+
+
+
+```bash
+apt install centreon-plugin-applications-backup-veeam-wsman
+```
+
+
+
+
+```bash
+yum install centreon-plugin-Applications-Backup-Veeam-Wsman
+```
+
+
+
+
+## Using the monitoring connector
+
+### Using a host template provided by the connector
+
+1. Log into Centreon and add a new host through **Configuration > Hosts**.
+2. Fill in the **Name**, **Alias** & **IP Address/DNS** fields according to your resource's settings.
+3. Apply the **App-Veeam-WSMAN-custom** template to the host. A list of macros appears. Macros allow you to define how the connector will connect to the resource, and to customize the connector's behavior.
+4. Fill in the macros you want. Some macros are mandatory.
+
+| Macro | Description | Default value | Mandatory |
+|:------------------|:---------------------------------------------------------------------------------------------------------------|:------------------|:-----------:|
+| WSMANUSERNAME | Define the username for authentication | USERNAME | |
+| WSMANPASSWORD | Define the password associated with the user name | PASSWORD | |
+| WSMANPORT | Define the port to connect to (default: 5985) | 5985 | |
+| WSMANAUTHMETHOD | Define the authentication method. Available methods: noauth, basic (default), pass, digest, ntlm, gssnegotiate | basic | |
+| WSMANPATH | Define the path of the WSMAN URL if it has been customized (default: '/wsman') | /wsman | |
+| WSMANSCHEME | Define the transport scheme (default: 'http') | http | |
+| WSMANEXTRAOPTIONS | Any extra option you may want to add to every command (a --verbose flag for example). All options are listed [here](#available-options). | | |
+
+5. [Deploy the configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). The host appears in the list of hosts, and on the **Resources Status** page. The command that is sent by the connector is displayed in the details panel of the host: it shows the values of the macros.
+
+### Using a service template provided by the connector
+
+1. If you have used a host template and checked **Create Services linked to the Template too**, the services linked to the template have been created automatically, using the corresponding service templates. Otherwise, [create manually the services you want](/docs/monitoring/basic-objects/services) and apply a service template to them.
+2. Fill in the macros you want (e.g. to change the thresholds for the alerts). Some macros are mandatory (see the table below).
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------|:-----------:|
+| FILTERENDTIME | Filter out jobs whose end date is older than the value specified in seconds (Default: 86400) | 86400 | |
+| FILTERNAME | Filter job name (can be a regexp) | | |
+| FILTERSTARTTIME | Filter out jobs whose start date is older than the value specified in seconds | | |
+| FILTERCOUNTERS | | | |
+| OKSTATUS | Set ok threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled} | | |
+| WARNINGLONG | Set warning threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed} | | |
+| CRITICALLONG | Set critical threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed} | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: '%{is\_running} == 0 and not %{status} =~ /Success/i'). Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled} | %{is\_running} == 0 and not %{status} =~ /Success/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). All options are listed [here](#available-options). | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:----------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------|:-----------:|
+| FILTERTO | Filter licenses by person/organization (can be a regexp) | | |
+| FILTERTYPE | Filter licenses by type (can be a regexp) | | |
+| FILTERSTATUS | Filter licenses by status (can be a regexp) | | |
+| UNIT | Select the unit for expiration thresholds. May be 's' for seconds,'m' for minutes, 'h' for hours, 'd' for days, 'w' for weeks. Default is seconds | | |
+| WARNINGEXPIRES | Thresholds | | |
+| CRITICALEXPIRES | Thresholds | | |
+| WARNINGLICENSEINSTANCESFREE | Thresholds | | |
+| CRITICALLICENSEINSTANCESFREE | Thresholds | | |
+| WARNINGLICENSEINSTANCESUSAGE | Thresholds | | |
+| CRITICALLICENSEINSTANCESUSAGE | Thresholds | | |
+| WARNINGLICENSEINSTANCESUSAGEPRCT | Thresholds | | |
+| CRITICALLICENSEINSTANCESUSAGEPRCT | Thresholds | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: '%{status} =~ /expired\|invalid/i'). Can use special variables like: %{to}, %{status}, %{type} | %{status} =~ /expired\|invalid/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{to}, %{status}, %{type} | | |
+| WARNINGTOTAL | Thresholds | | |
+| CRITICALTOTAL | Thresholds | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). All options are listed [here](#available-options). | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:-----------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------|:-----------:|
+| FILTERNAME | Filter repositories by name (can be a regexp) | | |
+| FILTERTYPE | Filter repositories by type (can be a regexp) | | |
+| WARNINGSPACEUSAGE | Thresholds | | |
+| CRITICALSPACEUSAGE | Thresholds | | |
+| WARNINGSPACEUSAGEFREE | Thresholds | | |
+| CRITICALSPACEUSAGEFREE | Thresholds | | |
+| WARNINGSPACEUSAGEPRCT | Thresholds | | |
+| CRITICALSPACEUSAGEPRCT | Thresholds | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: 'not %{status} =~ /ordinal\|maintenance/i'). Can use special variables like: %{status}, %{name}, %{type} | not %{status} =~ /ordinal\|maintenance/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{status}, %{name}, %{type} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). All options are listed [here](#available-options). | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:---------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------|:-----------:|
+| FILTERNAME | Filter job name (can be a regexp) | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: '%{enabled} == 1 and not %{last\_result} =~ /Success\|None/i'). Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state} | %{enabled} == 1 and not %{last\_result} =~ /Success\|None/i | |
+| WARNINGSTATUS | Set warning threshold for status (Default: '') Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state} | | |
+| WARNINGTOTAL | Set warning threshold for total jobs | | |
+| CRITICALTOTAL | Set critical threshold for total jobs | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). All options are listed [here](#available-options). | --verbose | |
+
+
+
+
+| Macro | Description | Default value | Mandatory |
+|:---------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------|:-----------:|
+| FILTERNAME | Filter job name (can be a regexp) | | |
+| FILTERTYPE | Filter job type (can be a regexp) | | |
+| WARNINGJOBSWARNING | Thresholds | | |
+| CRITICALJOBSWARNING | Thresholds | | |
+| WARNINGJOBSDETECTED | Thresholds | | |
+| CRITICALJOBSDETECTED | Thresholds | | |
+| WARNINGJOBSFAILED | Thresholds | | |
+| CRITICALJOBSFAILED | Thresholds | | |
+| WARNINGJOBSSUCCESS | Thresholds | | |
+| CRITICALJOBSSUCCESS | Thresholds | | |
+| CRITICALSTATUS | Set critical threshold for status (Default: 'not %{status} =~ /success/i'). Can use special variables like: %{name}, %{type}, %{status}, %{duration} | not %{status} =~ /success/i | |
+| WARNINGSTATUS | Set warning threshold for status. Can use special variables like: %{name}, %{type}, %{status}, %{duration} | | |
+| EXTRAOPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). All options are listed [here](#available-options). | --verbose | |
+
+
+
+
+3. [Deploy the configuration](/docs/monitoring/monitoring-servers/deploying-a-configuration). The service appears in the list of services, and on the **Resources Status** page. The command that is sent by the connector is displayed in the details panel of the service: it shows the values of the macros.
+
+## How to check in the CLI that the configuration is OK and what are the main options for?
+
+Once the plugin is installed, log into your Centreon poller's CLI using the
+**centreon-engine** user account (`su - centreon-engine`). Test that the connector
+is able to monitor a resource using a command like this one (replace the sample values by yours):
+
+```bash
+/usr/lib/centreon/plugins/centreon_veeam_backup_wsman.pl \
+ --plugin=apps::backup::veeam::wsman::plugin \
+ --mode=tape-jobs \
+ --hostname='10.0.0.1' \
+ --wsman-port='5985' \
+ --wsman-path='/wsman' \
+ --wsman-scheme='http' \
+ --wsman-username='USERNAME' \
+ --wsman-password='PASSWORD' \
+ --wsman-auth-method='basic' \
+ --filter-name="" \
+ --warning-status="" \
+ --critical-status="%{enabled} == 1 and not %{last_result} =~ /Success|None/i" \
+ --warning-total="" \
+ --critical-total="" \
+ --verbose
+```
+
+The expected command output is shown below:
+
+```bash
+OK: total jobs: 11 All jobs are ok | 'tapejobs.total.count'=11;;;0;
+```
+
+### Troubleshooting
+
+Please find the [troubleshooting documentation](../getting-started/how-to-guides/troubleshooting-plugins.md)
+for Centreon Plugins typical issues.
+
+### Available modes
+
+In most cases, a mode corresponds to a service template. The mode appears in the execution command for the connector.
+In the Centreon interface, you don't need to specify a mode explicitly: its use is implied when you apply a service template.
+However, you will need to specify the correct mode for the template if you want to test the execution command for the
+connector in your terminal.
+
+All available modes can be displayed by adding the `--list-mode` parameter to
+the command:
+
+```bash
+/usr/lib/centreon/plugins/centreon_veeam_backup_wsman.pl \
+ --plugin=apps::backup::veeam::wsman::plugin \
+ --list-mode
+```
+
+The plugin brings the following modes:
+
+| Mode | Linked service template |
+|:-------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------|
+| job-status [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/jobstatus.pm)] | App-Veeam-Job-Status-WSMAN-custom |
+| licenses [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/licenses.pm)] | App-Veeam-Licenses-WSMAN-custom |
+| list-jobs [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/listjobs.pm)] | Not used in this Monitoring Connector |
+| list-repositories [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/listrepositories.pm)] | Not used in this Monitoring Connector |
+| repositories [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/repositories.pm)] | App-Veeam-Repositories-WSMAN-custom |
+| tape-jobs [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/tapejobs.pm)] | App-Veeam-Tape-Jobs-WSMAN-custom |
+| vsb-jobs [[code](https://github.com/centreon/centreon-plugins/blob/develop/src/apps/backup/veeam/wsman/mode/vsbjobs.pm)] | App-Veeam-Vsb-Jobs-WSMAN-custom |
+
+### Available options
+
+#### Generic options
+
+All generic options are listed here:
+
+| Option | Description |
+|:-------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --mode | Define the mode in which you want the plugin to be executed (see--list-mode). |
+| --dyn-mode | Specify a mode with the module's path (advanced). |
+| --list-mode | List all available modes. |
+| --mode-version | Check minimal version of mode. If not, unknown error. |
+| --version | Return the version of the plugin. |
+| --pass-manager | Define the password manager you want to use. Supported managers are: environment, file, keepass, hashicorpvault and teampass. |
+| --verbose | Display extended status information (long output). |
+| --debug | Display debug messages. |
+| --filter-perfdata | Filter perfdata that match the regexp. Example: adding --filter-perfdata='avg' will remove all metrics that do not contain 'avg' from performance data. |
+| --filter-perfdata-adv | Filter perfdata based on a "if" condition using the following variables: label, value, unit, warning, critical, min, max. Variables must be written either %{variable} or %(variable). Example: adding --filter-perfdata-adv='not (%(value) == 0 and %(max) eq "")' will remove all metrics whose value equals 0 and that don't have a maximum value. |
+| --explode-perfdata-max | Create a new metric for each metric that comes with a maximum limit. The new metric will be named identically with a '\_max' suffix). Example: it will split 'used\_prct'=26.93%;0:80;0:90;0;100 into 'used\_prct'=26.93%;0:80;0:90;0;100 'used\_prct\_max'=100%;;;; |
+| --change-perfdata --extend-perfdata | Change or extend perfdata. Syntax: --extend-perfdata=searchlabel,newlabel,target\[,\[newuom\],\[min\],\[m ax\]\] Common examples: Convert storage free perfdata into used: --change-perfdata='free,used,invert()' Convert storage free perfdata into used: --change-perfdata='used,free,invert()' Scale traffic values automatically: --change-perfdata='traffic,,scale(auto)' Scale traffic values in Mbps: --change-perfdata='traffic\_in,,scale(Mbps),mbps' Change traffic values in percent: --change-perfdata='traffic\_in,,percent()' |
+| --extend-perfdata-group | Add new aggregated metrics (min, max, average or sum) for groups of metrics defined by a regex match on the metrics' names. Syntax: --extend-perfdata-group=regex,namesofnewmetrics,calculation\[,\[ne wuom\],\[min\],\[max\]\] regex: regular expression namesofnewmetrics: how the new metrics' names are composed (can use $1, $2... for groups defined by () in regex). calculation: how the values of the new metrics should be calculated newuom (optional): unit of measure for the new metrics min (optional): lowest value the metrics can reach max (optional): highest value the metrics can reach Common examples: Sum wrong packets from all interfaces (with interface need --units-errors=absolute): --extend-perfdata-group=',packets\_wrong,sum(packets\_(discard \|error)\_(in\|out))' Sum traffic by interface: --extend-perfdata-group='traffic\_in\_(.*),traffic\_$1,sum(traf fic\_(in\|out)\_$1)' |
+| --change-short-output --change-long-output | Modify the short/long output that is returned by the plugin. Syntax: --change-short-output=pattern~replacement~modifier Most commonly used modifiers are i (case insensitive) and g (replace all occurrences). Example: adding --change-short-output='OK~Up~gi' will replace all occurrences of 'OK', 'ok', 'Ok' or 'oK' with 'Up' |
+| --change-exit | Replace an exit code with one of your choice. Example: adding --change-exit=unknown=critical will result in a CRITICAL state instead of an UNKNOWN state. |
+| --range-perfdata | Rewrite the ranges displayed in the perfdata. Accepted values: 0: nothing is changed. 1: if the lower value of the range is equal to 0, it is removed. 2: remove the thresholds from the perfdata. |
+| --filter-uom | Mask the units when they don't match the given regular expression. |
+| --opt-exit | Replace the exit code in case of an execution error (i.e. wrong option provided, SSH connection refused, timeout, etc). Default: unknown. |
+| --output-ignore-perfdata | Remove all the metrics from the service. The service will still have a status and an output. |
+| --output-ignore-label | Remove the status label ("OK:", "WARNING:", "UNKNOWN:", CRITICAL:") from the beginning of the output. Example: 'OK: Ram Total:...' will become 'Ram Total:...' |
+| --output-xml | Return the output in XML format (to send to an XML API). |
+| --output-json | Return the output in JSON format (to send to a JSON API). |
+| --output-openmetrics | Return the output in OpenMetrics format (to send to a tool expecting this format). |
+| --output-file | Write output in file (can be combined with json, xml and openmetrics options). E.g.: --output-file=/tmp/output.txt will write the output in /tmp/output.txt. |
+| --disco-format | Applies only to modes beginning with 'list-'. Returns the list of available macros to configure a service discovery rule (formatted in XML). |
+| --disco-show | Applies only to modes beginning with 'list-'. Returns the list of discovered objects (formatted in XML) for service discovery. |
+| --float-precision | Define the float precision for thresholds (default: 8). |
+| --source-encoding | Define the character encoding of the response sent by the monitored resource Default: 'UTF-8'. Need at least openwsman-perl version \>= 2.4.0 |
+| --hostname | Define the hostname to query (mandatory). |
+| --wsman-port | Define the port to connect to (default: 5985). |
+| --wsman-path | Define the path of the WSMAN URL if it has been customized (default: '/wsman'). |
+| --wsman-scheme | Define the transport scheme (default: 'http'). |
+| --wsman-username | Define the username for authentication. |
+| --wsman-password | Define the password associated with the user name. |
+| --wsman-timeout | Define the HTTP transport timeout in seconds (default: 30). |
+| --wsman-auth-method | Define the authentication method. Available methods: noauth, basic (default), pass, digest, ntlm, gssnegotiate. |
+| --wsman-proxy-url | Define the URL of the HTTP proxy to use. |
+| --wsman-proxy-username | Define the user name to authenticate to the proxy server. |
+| --wsman-proxy-password | Define the password to authenticate to the proxy server. |
+| --wsman-debug | Define the openwsman log level. Available levels: error, critical, warning, message, info (default), debug. |
+| --wsman-errors-exit | Define the expected exit code when wsman errors occur (default: unknown). |
+
+#### Modes options
+
+All available options for each service template are listed below:
+
+
+
+
+| Option | Description |
+|:--------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter job name (can be a regexp). |
+| --exclude-name | Exclude job name (regexp can be used). |
+| --filter-type | Filter job type (can be a regexp). |
+| --filter-start-time | Filter job with start time greater than current time less value in seconds. |
+| --filter-end-time | Filter job with end time greater than current time less value in seconds (Default: 86400). |
+| --ok-status | Set ok threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled}. |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled}. |
+| --critical-status | Set critical threshold for status (Default: '%{is\_running} == 0 and not %{status} =~ /Success/i'). Can use special variables like: %{display}, %{status}, %{type}, %{is\_running}, %{scheduled}. |
+| --warning-long | Set warning threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed}. |
+| --critical-long | Set critical threshold for long jobs. Can use special variables like: %{display}, %{status}, %{type}, %{elapsed}. |
+| --warning-total | Set warning threshold for total jobs. |
+| --critical-total | Set critical threshold for total jobs. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-to | Filter licenses by person/organization (can be a regexp). |
+| --filter-type | Filter licenses by type (can be a regexp). |
+| --filter-status | Filter licenses by status (can be a regexp). |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{to}, %{status}, %{type}. |
+| --critical-status | Set critical threshold for status (Default: '%{status} =~ /expired\|invalid/i'). Can use special variables like: %{to}, %{status}, %{type}. |
+| --unit | Select the unit for expires threshold. May be 's' for seconds,'m' for minutes, 'h' for hours, 'd' for days, 'w' for weeks. Default is seconds. |
+| --warning-* --critical-* | Thresholds. Can be: 'total', 'expires', 'license-instances-usage', 'license-instances-free', 'license-instances-usage-prct'. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter repositories by name (can be a regexp). |
+| --exclude-name | Exclude repositories by name (regexp can be used). |
+| --filter-type | Filter repositories by type (can be a regexp). |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{status}, %{name}, %{type}. |
+| --critical-status | Set critical threshold for status (Default: 'not %{status} =~ /ordinal\|maintenance/i'). Can use special variables like: %{status}, %{name}, %{type}. |
+| --warning-* --critical-* | Thresholds. Can be: 'space-usage', 'space-usage-free', 'space-usage-prct'. |
+
+
+
+
+| Option | Description |
+|:------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter job name (can be a regexp). |
+| --exclude-name | Exclude job name (regexp can be used). |
+| --filter-type | Filter job type (can be a regexp). |
+| --unknown-status | Set unknown threshold for status (Default: '') Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state}. |
+| --warning-status | Set warning threshold for status (Default: '') Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state}. |
+| --critical-status | Set critical threshold for status (Default: '%{enabled} == 1 and not %{last\_result} =~ /Success\|None/i'). Can use special variables like: %{display}, %{enabled}, %{type}, %{last\_result}, %{last\_state}. |
+| --warning-total | Set warning threshold for total jobs. |
+| --critical-total | Set critical threshold for total jobs. |
+
+
+
+
+| Option | Description |
+|:-------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------|
+| --ps-display | Display powershell script. |
+| --ps-exec-only | Print powershell output. |
+| --filter-name | Filter job name (can be a regexp). |
+| --exclude-name | Exclude job name (regexp can be used). |
+| --filter-type | Filter job type (can be a regexp). |
+| --unknown-status | Set unknown threshold for status. Can use special variables like: %{name}, %{type}, %{status}, %{duration}. |
+| --warning-status | Set warning threshold for status. Can use special variables like: %{name}, %{type}, %{status}, %{duration}. |
+| --critical-status | Set critical threshold for status (Default: 'not %{status} =~ /success/i'). Can use special variables like: %{name}, %{type}, %{status}, %{duration}. |
+| --warning-* --critical-* | Thresholds. Can be: 'jobs-detected', 'jobs-success', 'jobs-warning', 'jobs-failed'. |
+
+
+
+
+All available options for a given mode can be displayed by adding the
+`--help` parameter to the command:
+
+```bash
+/usr/lib/centreon/plugins/centreon_veeam_backup_wsman.pl \
+ --plugin=apps::backup::veeam::wsman::plugin \
+ --mode=tape-jobs \
+ --help
+```
diff --git a/pp/sidebarsPp.js b/pp/sidebarsPp.js
index f4f7f71d065c..5fa08f62f302 100644
--- a/pp/sidebarsPp.js
+++ b/pp/sidebarsPp.js
@@ -591,6 +591,10 @@ module.exports = {
type: 'doc',
id: 'integrations/plugin-packs/procedures/applications-veeam-nrpe'
},
+ {
+ type: 'doc',
+ id: 'integrations/plugin-packs/procedures/applications-veeam-wsman'
+ },
{
type: 'doc',
id: 'integrations/plugin-packs/procedures/applications-backupexec-nscp-restapi'