{"id":124,"date":"2011-08-25T15:18:15","date_gmt":"2011-08-25T14:18:15","guid":{"rendered":"http:\/\/hamsterhirn.de\/?p=124"},"modified":"2012-12-12T15:45:15","modified_gmt":"2012-12-12T14:45:15","slug":"psexec-workaround-for-installing-msi-packages-to-remote-computers","status":"publish","type":"post","link":"https:\/\/hamsterhirn.de\/index.php\/2011\/08\/psexec-workaround-for-installing-msi-packages-to-remote-computers\/","title":{"rendered":"psexec workaround for installing msi packages to remote computers"},"content":{"rendered":"<p>Hatte einige Probleme eine msi Datei per psexec auf einen remote Rechner mit msiexec zu installieren.<br \/>\nMein Befehl war &#8222;psexec.exe \\\\REMOTEHOST -u ADMIN -p ADMINPASSWORT -s -d msiexec \/i \\\\APPHOST\\FOLDER\\7z922-x64.msi \/q&#8220;. Der hat anscheinend die Datei nicht gefunden. Habe ich auf dem remote Rechner &#8222;msiexec \/i \\\\APPHOST\\FOLDER\\7z922-x64.msi \/q&#8220; ausgef\u00fchrt hat es aber funktioniert&#8230;<\/p>\n<p>Nach langem hin und her war hab ich eine <a href=\"http:\/\/www.geekytidbits.com\/2011\/06\/unattended-msi-installation-psexec\/\" target=\"_blank\">ad\u00e4quate Alternative gefunden<\/a> um das Problem zu umgehen. Ich mappe den Temp Ordner vom remote Rechner, kopiere die msi dort hinein und starte dann den obigen Befehl ohne UNC Pfad aber mit absoluten lokalen Pfad. Um es mir einfacher zu machen habe ich mir gleich eine batch Datei geschrieben (psexec muss im PATH sein&#8230;):<\/p>\n<p><pre><code class=\"preserve-code-formatting\">&lt;pre&gt;@echo off\n\nset admin=Administrator\nset passwd=\nset hostname=%1\nset absolutePathToFile=%2\nset absolutePath=%3\nset filename=%~n2\nset filenameextension=%~x2\n\nif %1!==! goto error5\nif %2!==! goto error5\nif %3!==! goto onefileprocessing\n\n:folderprocessing\nREM share einh\u00e4ngen\nnet use \\\\%hostname%\\c$\\Windows\\Temp %passwd% \/user:%admin%\nif errorlevel 1 goto error1\nREM gewuenschte datei auf den remote rechner kopieren\nxcopy \/H \/E \/Y %absolutePath% \\\\%hostname%\\c$\\Windows\\Temp\nif errorlevel 1 goto error2\nREM installieren der software\npsexec.exe \\\\%hostname% -u %admin% -p %passwd% msiexec \/norestart \/i C:\\Windows\\Temp\\%filename%%filenameextension%\nif errorlevel 1 goto error3\nREM aush\u00e4ngen des shares\nnet use \\\\%hostname%\\c$\\Windows\\Temp \/d\nif errorlevel 1 goto error4\nREM deinstallieren von software w\u00fcrde so gehen\nREM psexec.exe \\\\%hostname% -u %admin% -p %passwd% msiexec \/x {61EF76AE-6CC9-4EFC-B788-6845C0BCEF00} \/quiet\ngoto end\n\n:onefileprocessing\nREM share einh\u00e4ngen\nnet use \\\\%hostname%\\c$\\Windows\\Temp %passwd% \/user:%admin%\nif errorlevel 1 goto error1\nREM gewuenschte datei auf den remote rechner kopieren\nxcopy \/Y %absolutePathToFile% \\\\%hostname%\\c$\\Windows\\Temp\nif errorlevel 1 goto error2\nREM installieren der software\npsexec.exe \\\\%hostname% -u %admin% -p %passwd% msiexec \/norestart \/i C:\\Windows\\Temp\\%filename%%filenameextension% \/q\nif errorlevel 1 goto error3\nREM aush\u00e4ngen des shares\nnet use \\\\%hostname%\\c$\\Windows\\Temp \/d\nif errorlevel 1 goto error4\nREM deinstallieren von software w\u00fcrde so gehen\nREM psexec.exe \\\\%hostname% -u %admin% -p %passwd% msiexec \/x {61EF76AE-6CC9-4EFC-B788-6845C0BCEF00} \/quiet\n\ngoto end\n:error1\necho Fehler beim einh\u00e4ngen des remote ordners\n:error2\necho Fehler beim kopieren auf remote machine\n:error3\necho Fehler beim installieren der Software\n:error4\necho Fehler beim aush\u00e4ngen des remote ordners\n:error5\necho Bitte als ersten Parameter den Hostnamen angeben (z.B. REMOTEHOST) und als Zweiten den absoluten Pfad zur Datei die installiert werden soll (z.B. H:\\apps\\7z922-x64.msi)\necho In Ordnernamen duerfen keine Punkte sein...\n:end&lt;\/pre&gt;<\/code><\/pre><\/p>\n<p>Musste noch ein drittes Argument mit aufnehmen damit ich eine Unterscheidung hab ob ich jetzt ein ganzes Verzeichnis kopieren muss oder nur eine Datei (z.B. bei der java, wo es jre1_6_0_27.msi und Data1.cab f\u00fcr die Installation braucht). Au\u00dferdem gabs Probleme wenn die Datei im Namen Punkte hatte. Er meinte nach dem Ersten Punkt, dass alles was danach kommt eine Dateiendung ist&#8230; also verwend ich keine Punkte im Dateinamen.<\/p>\n<p>Das ganze schaut dann so aus wenn man es ausf\u00fchrt:<br \/>\n<a href=\"http:\/\/hamsterhirn.de\/wp-content\/uploads\/psexec.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/hamsterhirn.de\/wp-content\/uploads\/psexec-300x40.jpg\" alt=\"\" title=\"psexec\" width=\"300\" height=\"40\" class=\"aligncenter size-medium wp-image-125\" srcset=\"https:\/\/hamsterhirn.de\/wp-content\/uploads\/psexec-300x40.jpg 300w, https:\/\/hamsterhirn.de\/wp-content\/uploads\/psexec-1024x138.jpg 1024w, https:\/\/hamsterhirn.de\/wp-content\/uploads\/psexec.jpg 1453w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hatte einige Probleme eine msi Datei per psexec auf einen remote Rechner mit msiexec zu installieren. Mein Befehl war &#8222;psexec.exe \\\\REMOTEHOST -u ADMIN -p ADMINPASSWORT -s -d msiexec \/i \\\\APPHOST\\FOLDER\\7z922-x64.msi \/q&#8220;. Der hat anscheinend die Datei nicht gefunden. Habe ich auf dem remote Rechner &#8222;msiexec \/i \\\\APPHOST\\FOLDER\\7z922-x64.msi \/q&#8220; ausgef\u00fchrt hat es aber funktioniert&#8230; Nach langem [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[82,85,83,61,81,84,53],"class_list":["post-124","post","type-post","status-publish","format-standard","hentry","category-it","tag-batch","tag-install","tag-msiexec","tag-problem","tag-psexec","tag-remote","tag-windows-7"],"_links":{"self":[{"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/posts\/124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/comments?post=124"}],"version-history":[{"count":12,"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/posts\/124\/revisions"}],"predecessor-version":[{"id":264,"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/posts\/124\/revisions\/264"}],"wp:attachment":[{"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/media?parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/categories?post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hamsterhirn.de\/index.php\/wp-json\/wp\/v2\/tags?post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}