You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2023-11-30 15:23:52

Z3TA
Member
Registered: 2023-08-24
Posts: 5

Glpi deploy winget

Hello,

serveur glpi 10.0.10
agent 1.6.1

J'ai créé un package pour installer des logiciels en utilisant la commande Windows "winget" :

winget install --id=Notepad++.Notepad++ -e -h --force --scope "machine"

Cependant, lors de l'exécution de ma tâche de déploiement sur l'ordinateur cible, la commande n'est pas reconnue...
2023-11-30 13:46:47    Running    Actions: action #4: --------------------------------
2023-11-30 13:46:47    Running    Actions: action #4: ou externe, un programme exécutable ou un fichier de commandes.
2023-11-30 13:46:47    Running    Actions: action #4: 'winget' n'est pas reconnu en tant que commande interne
2023-11-30 13:46:47    Running    Action: winget install --id=Notepad++.Notepad++ -e -h --force --scope "machine"
2023-11-30 13:46:47    Running    Actions: action #4:

J'ai également essayé de passer par un fichier bat (install_notepad.bat)... même résultat. Bien sûr, sur la machine cible, le fichier bat fonctionne.

Une idée sur la résolution de ce problème ?

Comment vous utilisez la fonction deploy  ?
Vous avez des examples ?

Merci d'avance !

Offline

#2 2023-12-01 03:35:26

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,459
Website

Re: Glpi deploy winget

Bonjour,

Êtes-vous sûr que "winget" est accessible depuis l'extérieur de PowerShell (je n'ai pas du tout de version client de Windows pour tester cela). Si vous essayez de l'exécuter dans l'ancienne invite de commande par exemple, cela fonctionne-t-il ?


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#3 2024-03-12 17:40:45

Z3TA
Member
Registered: 2023-08-24
Posts: 5

Re: Glpi deploy winget

Bonjour,

Merci de votre réponse, oui cela fonctionne bien en powershell


'''
PS C:\Users\X>winget
Gestionnaire de package Windows v1.7.10582
Copyright (c) Microsoft Corporation. Tous droits réservés.

L’utilitaire de ligne de commande winget permet d’installer des applications et d’autres packages à partir de la ligne de commande.

Utilisation : winget  [<commande>] [<options>]
'''

Offline

#4 2024-03-13 03:54:08

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,459
Website

Re: Glpi deploy winget

Je suis presque sûr que l'agent exécute des commandes/processus de démarrage réels. Étant donné que Winget est disponible uniquement dans PowerShell, il n'est pas possible de démarrer "Winget" comme s'il s'agissait d'un exécutable. Essayez de modifier le script pour l'exécuter réellement dans PowerShell.

powershell -Command "winget install --id=Notepad++.Notepad++ -e -h --force --scope machine"


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#5 2024-03-26 10:17:16

Z3TA
Member
Registered: 2023-08-24
Posts: 5

Re: Glpi deploy winget

Voici le log Glpi :
```sh
2024-03-26 09:10:11    Ok    job successfully completed
2024-03-26 09:10:11    Running    Actions:action #1, processing success
2024-03-26 09:10:11    Running    Actions:action #1: ok, no check to evaluate.
2024-03-26 09:10:11    Running    Actions:action #1: exit status: `1'
2024-03-26 09:10:11    Running    Actions:action #1: --------------------------------
2024-03-26 09:10:11    Running    Actions:action #1: C:\Program Files\GLPI-Agent\var\https..__glpi.example.fr_marketplace_glpiinventory\deploy\workdir\660282cb9d069>exit 1
2024-03-26 09:10:10    Running    Actions:action #1:
2024-03-26 09:10:10    Running    Actions:action #1:
2024-03-26 09:10:10    Running    Actions:action #1: + FullyQualifiedErrorId : CommandNotFoundException
2024-03-26 09:10:10    Running    Actions:action #1: + CategoryInfo : ObjectNotFound: (winget:String) [], CommandNotFoundException
2024-03-26 09:10:10    Running    Actions:action #1: + ~~~~~~
2024-03-26 09:10:10    Running    Actions:action #1: + winget install --id=Notepad++.Notepad++ -e -h --force --scope machine
2024-03-26 09:10:10    Running    Actions:action #1: Au caractŠre Ligne:1 : 1
2024-03-26 09:10:10    Running    Actions:action #1: et r‚essayez.
2024-03-26 09:10:10    Running    Actions:action #1: ex‚cutable. V‚rifiez l'orthographe du nom, ou si un chemin d'accŠs existe, v‚rifiez que le chemin d'accŠs est correct
2024-03-26 09:10:10    Running    Actions:action #1: winget : Le terme ®winget¯ n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme
2024-03-26 09:10:10    Running    Actions:action #1: C:\Program Files\GLPI-Agent\var\https..__glpi.example.fr_marketplace_glpiinventory\deploy\workdir\660282cb9d069>powershell -Command "winget install --id=Notepad++.Notepad++ -e -h --force --scope machine"
2024-03-26 09:10:10    Running    Actions:action #1:
2024-03-26 09:10:10    Running    Actions:action #1: C:\Program Files\GLPI-Agent\perl\bin>cd "C:\Program Files\GLPI-Agent\var\https..__glpi.example.fr_marketplace_glpiinventory\deploy\workdir\660282cb9d069"
2024-03-26 09:10:10    Running    Actions:action #1:
2024-03-26 09:10:10    Running    Actions:action #1: ================================
2024-03-26 09:10:10    Running    Actions:action #1: Started cmd: powershell -Command "winget install --id=Notepad++.Notepad++ -e -h --force --scope machine"
2024-03-26 09:10:10    Running    Actions:action #1: ================================
2024-03-26 09:10:07    Running    Files preparation:success
2024-03-26 09:10:07    Running    Files download:success
2024-03-26 09:10:07    Running    Files download:downloading files
2024-03-26 09:10:07    Running    Checks:all checks are ok
2024-03-26 09:10:07    Running    Checks:starting
2024-03-26 09:09:47    Prepared   
```

Quand j'exécute la commande directement dans PowerShell :

```sh
PS C:\Users\X> winget install --id=Notepad++.Notepad++ -e -h --force --scope machine
Trouvé Notepad++ [Notepad++.Notepad++] Version 8.6.4
La licence d’utilisation de cette application vous est octroyée par son propriétaire.
Microsoft n’est pas responsable des paquets tiers et n’accorde pas de licences à ceux-ci.
Téléchargement en cours github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.6.4/npp.8.6.4.Installer.x64.exe
  ██████████████████████████████  4.62 MB / 4.62 MB
Le code de hachage de l’installation a été vérifié avec succès
Démarrage du package d’installation... Merci de patienter.
Le programme d’installation demande à s’exécuter en tant qu’administrateur. Attendez-vous à une invite.
Installé correctement
```

Merci de votre retour.

Offline

#6 2024-04-24 15:33:59

Kortal
Member
Registered: 2024-04-24
Posts: 16

Re: Glpi deploy winget

Hello,

Le soucis est que glpi agent lance les commandes via l'utilisateur Autorité NT\Systeme.
Ce compte systeme n'a pas accès à winget par défaut.

J'ai trouvé 2 solutions qui fonctionnent partiellement, dans le sens ou par exemple, certaines applis n'arrivent pas à s'installer comme paint.net. Notepad++ s'installe sans pbs. je n'ai pas trop creusé plus loin.

Premiere solution, tu peux contourner en fournissant directement le chemin complet dans la commande, par ex: "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.22.11132.0_x64__8wekyb3d8bbwe\winget.exe"
inconvénient, c'est que ce chemin peut changer vu qu'il intègre la version de winget dans le nom du dossier.
sur une autre machine j'ai par ex: "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.22.10861.0_x64__8wekyb3d8bbwe\winget.exe"

Deuxieme solution, utiliser https://github .com/Romanitho/Winget-Install
tu télécharges le script, et configure la commande dans ton paquet glpi: powershell.exe -ExecutionPolicy bypass -File winget-install.ps1 -AppIDs Notepad++.Notepad++

Une autre solution serait qu'on puisse avoir le choix de lancer une commande en tant que user connecté (la plupart des applis winget sont installables en tant qu'user) ou compte systeme au niveau de l'agent glpi installé sur la machine lorsqu'on envoie un déploiement.

En espérant t'avoir éclairé !

Offline

#7 2024-04-24 15:36:55

Z3TA
Member
Registered: 2023-08-24
Posts: 5

Re: Glpi deploy winget

Super, merci pour ta réponse ! Je te ferai un retour dès que possible... Encore merci !

Offline

Board footer

Powered by FluxBB