psexec & msiexec: erreurs "filename incorrect" et 1619 - Win 7 - Windows & Software
Marsh Posté le 11-02-2011 à 23:10:57
Parfois l'ordre des paramètres est important.
Dans les exemples de technet, /qn /l*v se trouve juste après ..MONAgent.msi, sauf pour une ligne, qui a peut-être été mal tapée.
Peut-être qu'il faudrait déplacer SET_ACTIONS_ACCOUNT=0 plus vers la fin de la commande.
Marsh Posté le 16-02-2011 à 11:01:28
tiens.. il me semblait avoir répondu à ce message, j'ai dû le prévisualiser sans l'envoyer ... qu'importe, je retape :
billgatesanonym a écrit : Parfois l'ordre des paramètres est important. |
Excellente suggestion, et il est vrai que la différence entre les exemples de TechNet est étrange. Après essai, malheureusement ça ne change rien quel que soit l'ordre des paramètres que je prenne.
Je@nb a écrit : pk tu mets des " " ? |
Une vieille habitude à cause des répertoires qui contiennent parfois des espaces. Ici en l'occurrence, bien sûr les noms que j'emploie dans les exemples sont des placeholders, mais il s'avère que dans les faits les répertoires n'ont pas d'espace non plus ... après avoir supprimé les guillemets, on dirait que ça passe ! Merci bcp à toi !
Maintenant autre problème, une erreur 1619:
This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package. |
En guise de rappel, si je me connecte en remote desktop sur MACHINE_CIBLE, j'arriverai à l'installer sans problème, donc le MSI est bon.
En googlant un peu je trouve une KB qui parle de l'erreur 1619 avec MSIexec mais elle date de 2007 et on dirait que c'est applicable seulement à XP ou moins. Or je suis dans un environnement Seven/Vista & 2008. De plus, je n'ai pas le problème d'autorisation NTFS mentionné dans l'article, puisque le share est accessible en lecture pour absolument tout le monde.
une idée ?
Marsh Posté le 16-02-2011 à 12:55:00
le share ou le dossier ?
Parce qu'il faut les 2 ! Et je pense que via psexec c'est le compte système qui est utilisé donc il faut rajouter le groupe "domain computers" dans les droits de ton dossier
Marsh Posté le 16-02-2011 à 15:19:30
Alors :
le share lui-même en en Read + Write
le dossier en Everyone Read permission
Marsh Posté le 16-02-2011 à 17:43:04
regarde si sur le dossier du msi dans les autorisations effectives tu arrives à avoir les permissions sur ton compte ordinateur (ajoute le type d'objet à ordinateur).
Marsh Posté le 17-02-2011 à 15:58:49
Alors je vais sur MYSERV et je navigue jusqu'au répertoire où se trouve le MSI.
[ j'ai un système en anglais, sorry pour les allergiques à la V.O. ]
Je fais :
right click -> Properties -> Security -> Advanced -> Effective Permissions -> Group or user name: Select -> Object Type : je check "Computers" et j'entre MACHINE_CIBLE dans le champ de recherche et je valide ("Check Names" ).
Les permissions effectives sont les suivantes : Y oui et N non :
N Full Control
Y Traverse folder / execute file
Y List folder / read date
Y Read attribute
Y Read extended attribute
Y Create files / write data
Y Create folders / append date
Y Write attributes
Y Write extended attributes
N Delete subfolders and files
Y Delete
Y Read permissions
N Change permissions
N Take ownership
Je pense qu'on devrait avoir assez d'autorisations pour exécuter un MSI, non ?
Marsh Posté le 17-02-2011 à 20:14:07
Ouais Donc étrange.
Et si tu mets un -u username -p password ?
Marsh Posté le 18-02-2011 à 10:40:43
Haaaa il y a du progrès ! (et c'est quand même étonnant puisque depuis MYSERV je suis connecté avec le même user ! )
La commande devient donc :
psexec \\MACHINE_CIBLE msiexec /i \\MYSERV\myshare\MOMAgent.msi SET_ACTIONS_ACCOUNT=0 /qn /l*v C:\windows\temp\agentR2install_log.txt
(en bougeant le paramètre comme le propose billgatesanonym ci-dessus, le résultat est à chaque fois identique)
Le message d'erreur a changé :
Error opening installation log file. Verify that the specified log file location exists and is writable. |
Le répertoire existe, et est accessible par le user que je mets en -u (qui est domain admin) - je me dis : tant pis je vais le faire sans fichier log alors.
La commande devient donc :
psexec \\MACHINE_CIBLE msiexec /i \\MYSERV\myshare\MOMAgent.msi SET_ACTIONS_ACCOUNT=0 /qn
Et là le message d'erreur est :
The system administrator has set policies to prevent this installation. c:\windows\system32\msiexec exited on spr-fcs03 with error code 1625. |
L'administrator, c'est moi, et je n'ai jamais défini aucune policy concernant les MSI ! WTH ?
Je présume qu'il doit y avoir de sales default settings quelque part, à moi la recherche !
Y arriverai-je donc un jour ?
Marsh Posté le 18-02-2011 à 10:43:00
Il me semble (à confirmer) que dans les options de PSEXEC, tu peux spécifier un compte utilisateur alternatif pour exécuter la tâche. Essaie avec cette option.
Marsh Posté le 11-02-2011 à 14:50:31
*edit* l'erreur Filename incorrect a été résolue grâce à la suppression des guillemets, maintenant il y a une autre erreur (1619) qui reste dans le même thème, j'ai édité le titre en correspondance
Bonjour,
Je voudrais lacer un fichier MSI (en l'occurrence, un update R2 de SCOM sur des machines qui sont encore en SP1) sur une série de machines, via un script partant d'une machine unique (appelons-la MYSERV)
J'utilise la ligne de commande suivante (depuis MYSERV)
psexec \\MACHINE_CIBLE "msiexec /i \\MYSERV\myshare\MOMAgent.msi SET_ACTIONS_ACCOUNT=0 /qn /l*v C:\windows\temp\agentR2install_log.txt"
Et je reçois l'output suivant :
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
Starting msiexec /i \\MYSERV\myshare\MOMAgent.msi SET_ACTIONS_ACCOUNT=0 /qn /l*v C:\windows\temp\agentR2install_log.txt on MACHINE_CIBLE..
PsExec could not start msiexec /i \\MYSERV\myshare\MOMAgent.msi SET_ACTIONS_ACCOUNT=0 /qn /l*v C:\windows\temp\agentR2install_log.txt on MACHINE_CIBLE:
The filename, directory name, or volume label syntax is incorrect.
Pourtant le share (permissions read à tout le monde, le MSI, le path vers le fichier log, existent bel et bien tous les deux
D'après technet, la commande MSIexec est correcte.
D'ailleurs si je me connecte en Remote Desktop sur la machine, je peux l'exécuter sans problème et le fichier log est créé.
(je me connecte avec le même user en remote desktop que celui avec lequel, depuis MYSERV, je lance la commande qui marche pas).
Seulement vu le nombre de machines que je dois mettre à jour, j'ai pas du tout envie de me connecter à chacune d'entre elle individuellement en remote desktop pour faire cet upgrade.
Quelqu'un a une idée de pourquoi je reçois ce message d'erreur ?
*edit* j'ai aussi essayé en ajoutant "cmd /c" devant le msiexec mais ça ne change rien"
Message édité par ZeBix le 17-02-2011 à 15:53:53