maxitesch
Goto Top

Powershell Rechte erhöhen

Hallo,

ich kämpfe gerade etwas mit einer Installation über SCCM 2012 und Powershell was mich bald wahnsinnig macht.

Starte ich die Installation mit der Setup.exe als Admin, kann ich die Software soweit installieren. Rufe ich die Setup.exe über Powershell auf, bricht die Installation so ziemlich am Ende ab wenn die Programm.EXE registriert werden soll (geworfener Msiexex-Fehler: 1722, Rückmeldung dann 1603).

Obwohl ich auch das Powershell-Script als Admin starte, muss es rechtlich ein Unterschied geben.

Kann es sein das Powershell weniger Rechte hat als wenn ich die Setup.exe selber mit Admin-Rechte direkt starte?

Viele Grüsse,
Maximilian

Content-Key: 237082

Url: https://administrator.de/contentid/237082

Printed on: April 19, 2024 at 21:04 o'clock

Member: DerWoWusste
DerWoWusste May 03, 2014 updated at 11:19:04 (UTC)
Goto Top
Hi.

Seit 2006 gibt es die UAC. Admin=User, elevated Admin=Admin. Du schreibst "Obwohl ich auch das Powershell-Script als Admin starte" und wir dürfen nun raten, ob elevated oder nicht face-smile Denn das macht den Unterschied. Setup.exe ist ein Term, der Elevation triggert, (sprich: da wird von alleine das höchst-mögliche Recht angefordert) das sollte man schon wissen.
Member: MaxiTesch
MaxiTesch May 03, 2014 at 11:08:58 (UTC)
Goto Top
Hallo,

danke für Deine Antwort.

Mit "als Admin starten" meinte ich rechtsklick und RunAs Admin face-smile

Kann man im Script erreichen das passende Recht anzufordern? Im Scrupt selber habe elevated nicht eingesetzt, muss ich nachlesen wie das geht, bin noch nicht so lange mit PowerShell unterwegs.

Gruss,
Maximilian
Member: DerWoWusste
DerWoWusste May 03, 2014 at 11:21:25 (UTC)
Goto Top
Hm, muss gestehen, dass ich nicht genau weiß, wann ein elevated PS-Script die Rechte nicht an Kindprozesse weiter übergibt. Mit Sicherheit weiß ich nur, dass ein simples Setup, aufgerufen über die elevated PS auch hohe Rechte bekommen würde.
Member: colinardo
colinardo May 03, 2014 updated at 13:52:10 (UTC)
Goto Top
Hallo Maximilian,
der genannte Windows Installer Error-Code ist ein Zeichen dafür das das Setup bestimmte Dateien nicht ersetzen kann, weil ein Prozess diese Dateien benutzt. Ohne mehr von deinem PS-Script zu kennen, ist eine Diagnose schwierig, da gibt es beim SCCM nämlich einige Fallstricke (Execution Policy, write-host nicht erlaubt, etc):
http://social.technet.microsoft.com/forums/systemcenter/en-US/f1cf5719- ...

Grüße Uwe
Member: MaxiTesch
MaxiTesch May 03, 2014 at 14:22:28 (UTC)
Goto Top
Hallo zusammen,

noch ein Nachtrag, ich nutze das PowerShell App Deplyment Toolkit, bisher hat es eigentlich nie ein Problem gegeben.

Nachdem ich ein einzelnes Script geschrieben habe das auf Anhieb funktioniert, bin ich mir nun nicht mehr sicher ob das Tool entweder die Rechte nicht vererbt oder prinzipiell Aktionen von SubScripts unterbunden werden.

Das Scrip geht ohne Probleme:
$processresult=(Start-Process -FilePath "C:\Windows\ccmcache\6g\Files\writer\Setup.exe" -ArgumentList '/v"TRANSFORMS=\"WR_Changes.mst\" ACCEPTEULA=1 /qn" /s /w' -Wait -Passthru).ExitCode
Write-Host $processresult

Starte ich die Setup.exe über einen Wrapper (ein kompiliertes Tool), geht es auch nicht.

Wenn ich ein Log-File schreiben lasse, scheint es so zu sein das am Ende das installierte Programm registriert werden soll, das klappt dann nicht. Andere Registry-Einträge konnten geschrieben werden.

Kleiner Auszug:
Action WR_Registereditor.exe_df, location: C:\Program Files (x86)\writer\, command: "C:\Program Files (x86)\writer\writer.exe" /register

Nun überlege ich ob es zum registrieren mehr Rechte braucht als nur Einträge in der Registry zu schreiben oder zu ändern...

Das Problem mit SCCM ist ja das nur ein Script gestartet werden kann. Daher verwenden wir ein Wrapper, der den Rest erledigt und alles Installationen durchzieht.

Offenbar läuft dabei aber was schief.

Werde mal das Script zerlegen und schauen ob ich mehr rausfunden kann. Für Tipps bin ich auch sehr dankbar face-smile

Gruss,
Maximilian


PS: Sorry wenn ich nicht mehr Infos liefern kann, starte nochmal neu mit den Tests...
Member: MaxiTesch
MaxiTesch May 17, 2014 at 15:47:40 (UTC)
Goto Top
Hallo,

ich nochmal face-smile

Habe nun ein paar Test gemacht und habe festgestellt, das wenn ich im Script eine vorher installierte alte Version des Programmes deinstalliere, habe ich ein Problem mit der Installation des dann aktuellen Programmes (Version).

Ist keine ältere Version installiert (also kein uninstall notwendig), klappt es.

Nun stellt sich mir die Frage, kann es sein das beim Uninstall ein Flag oder Key in der Registry gesetzt wird was dann weitere Installationen behindert?

Welche Flags/Keys könnten es sein da ich so nichts finden kann?

Viele Grüsse,
Maximilian
Member: colinardo
colinardo May 17, 2014 updated at 17:41:30 (UTC)
Goto Top
Zwischen-Neustart mit einbauen ...

Grüße Uwe