panguu
Goto Top

Psexec funktioniert nicht wenn man es lokal ausführt

Ich kämpfe seit mehreren Tagen damit und finde keine "richtige" Lösung. Ich versuche es einfachhalber knapp zu halten:

Es gibt einen Client namens "UserWorkstation" und meinen eigenen PC namens "Verwalter", eingeloggt sind jeweils 'normale' Domänenbenutzer. Die gehören der lokalen Windowsgruppe namens "Benutzer" an und sind nicht Teil der lokalen Windowsgruppe "Hauptbenutzer". UAC ist natürlich defaultmässig an.

Mein Ziel ist es einen Befehl beim Client "UserWorkstation" auszuführen, der das Recht erfordert einen Dienst zu ändern oder zu löschen. Völlig irrelevant, es könnte auch etwas anderes sein, hauptsache es erfordert höhere Rechte. Das mit dem Dienst soll lediglich als Beispiel dienen.

Das ganze möchte ich so gestalten, dass durch das Loginskript dieser Befehl quasi lokal auf den Clients ausgeführt wird.

Wenn ich von meinem PC "Verwalter" in einer normalen DOS-Box eingebe:
psexec \\UserWorkstation -e -h -u MeineDomain\PowerUser -p MeinPWD sc config Dienstname blabla

dann wird das erfolgreich auf der UserWorkstation ausgeführt.Natürlich ist der Domänenbenutzer "MeineDomain\PowerUser" auf der UserWorkstation in der Gruppe "Administratoren" definiert, sonst hätte ich ja kein Recht das zu machen. Soweit so gut. Ich hab also "remote" von einer entfernten Box aus den Befehl auf der UserWorkstation ausgeführt.

Wie ich sagte, ich möchte das jedoch nicht so haben, sondern diesen Befehl in einem Loginskript verwenden, dass dann bei der Domänenanmeldung auf der UserWorkstation abgearbeitet wird. Das schlägt jedoch fehl. Denn würde ich denselben Befehl von der "UserWorkstation" aus verwenden, krieg ich Zugriff verweigert! Es ist derselbe Befehl, es ändert sich rein gar nichts.

Ich vermute, dass die UAC und die Token-Erstellung bzw. Durchreichung blockiert! Was genau könnte ich dagegen machen um dieses Ziel zu erreichen? Würde ich UAC auf der UserWorkstation ausschalten klappt das natürlich, aber das wollte ich eigentlich vermeiden. Wie kann ich das lösen ohne an die UserWorkstation selbst etwas zu verändern?

Ich kriegs einfach nicht gebacken, ohne vorher an der UserWorkstation UAC abzuschalten. Es will nicht klappen. Kennt jemand eine Möglichkeit hierzu?

Content-Key: 190141

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

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: DerWoWusste
DerWoWusste 24.08.2012 um 12:31:18 Uhr
Goto Top
Hi nochmal.

Für Skripte mit UAC siehe Benutzerkontensteuerung unter Vista temporaer deaktivieren (kombiniere elevate und die anderen Tipps).
Mitglied: panguu
panguu 24.08.2012 aktualisiert um 13:59:10 Uhr
Goto Top
Dazu müsste man aber genau EINMAL mit Superrechten diese Möglichkeiten nutzen, um UAC auszuschalten. WIE man UAC ausschaltet weiß ich, aber ich möchte das ja eignetlich nicht. Gehts definitiv nicht anders`?
Mitglied: DerWoWusste
DerWoWusste 24.08.2012 um 14:45:43 Uhr
Goto Top
Nein. Es sei denn, der lokale Administrator (eingebautes Konto "administrator") ist aktiv und hat ein nicht-leeres Kennwort. Den kann man nutzen und DER (und nur der) wird nicht von der UAC gegängelt. Den könntest Du also im Logonskript tatsächlich mit psexec verwenden.

Ich bleib dabei: stell' ein Startskript einmalig ein.
Mitglied: panguu
panguu 24.08.2012 aktualisiert um 15:16:13 Uhr
Goto Top
Vergiss mal das Startskript, das hat was mit dem anderen Topic zu tun. Das oben gezeigte Beispiel soll daher als simples Beispiel dienen. Also nochmal zum Mitschreiben:

Vom Host "Verwalter" kann ich alles an die "UserWorkstation" mit psexec durchreichen, vorausgesetzt man hat n Adminaccount.


Du kannst aber am Client SELBST (in diesem Beispiel UserWorkstation genannt) _NICHT_ durch einen einzigen Befehl in der Shell das Gewünschte erreichen. Das funktioniert noch bis zu Win7-32bit aber bei 64bit OS hast du KEINE CHANCE mehr mit PSEXEC. Du kannst es gerne mal probieren. Natürlich --> UAC bleibt unberührt, also nicht vorher ausschalten.

Probiers mal mit einem simplen Befehl wie z.B. psexec -e -h -u DOMAIN\Poweruser -p supergeheim sc config w32time start= auto

Dieses psexec Kommando (kannst auch Abwandlungen wie ohne -h oder mit -s und -i probieren) wirst du nie erfolgreich DIREKT AN DEM Win7-64bit Client absetzen können. Du kriegst Status Code 5 zurück, und nicht 0 was man eigentlich erwartet. Völlig egal ob du dabei einen Domänenaccount oder einen der lokalen Adminaccounts verwendest. An Win7 32bit Clients klappt das grad noch mit den lokalen Adminaccounts. Aber mit 64bit, keine Chance. Und genau DARUM gehts! Glaubst du nicht? Probiers und wenn du mir sagst wie das geht, dann hast du meine Frage verstanden.
Mitglied: DerWoWusste
DerWoWusste 24.08.2012 aktualisiert um 15:50:29 Uhr
Goto Top
Entspann Dich, ich hab das schon vollständig verstanden. Ich weiß, "die Katze beißt sich hier in den S c h w a n z". Alle empfohlenen Anpassungen erfordern einmal einen "UAC-Bypass" - aber der geht eben nur mit dem Administrator. Ist der nicht aktiv, dann musst Du da durch, du musst einmalig an alle manuell ran.
Mitglied: panguu
panguu 24.08.2012 um 16:30:16 Uhr
Goto Top
Hmm..anscheined nicht? face-smile denn sonst würdest du verstanden haben, dass es grad ANDERSRUM ist und ich NICHT zum Client rennen muss. Es geht nicht darum, ob ich irgendwo hinrennen muss, sondern die RICHTUNG in der die Befehle durchgegeben werden. Von einem entfernten Host mittels "psexec \\rechner kommando " oder in einer Shell mittels "psexec kommando"

Ich kann nämlich von meiner Maschine aus alle Clients remote steuern mit "psexec \\abcdef -u irgendjemand foo bar"
Das ist ja nicht das Problem, das funktioniert doch.

Was aber NICHT funktioniert ist: auf einem Win7 64bit Host den Befehl nutzen "psexec -u irgendjemand foo bar"

Angekommen?

Ich hab mir alles mögliche an TechSheets durchgelesen, fand aber keine altnernative Lösung Powershell-Commandos an einem Host (nicht remote!) abzusetzen, ohne die UAC zu umgehen. Selbst mit dem angepriesenen Funktionsschlüssel "LocalAccountTokenFilterPolicy" unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system nicht.

Aus diesem Grunde habe ich gefragt, ob jemand mehr darüber weiß und helfen kann. Vielleicht hab ich ja was mit den Tokens übersehen. Deine Antwort jedoch bezog sich nicht auf meine Frage, bitte lies dir nochmal durch was ich gefragt habe. Auch wenn du es sicherlich gut meinst, aber wie ich auch in anderen Thread gemerkt habe, scheinst du doch von den eigentlichen Fragestellungen abzudriften. Ich weiss nicht, ob du das im Unterbewußtsein tust, um deinen Nicknamen gerecht zu werden, aber irgendwie scheinst du das zu verfehlen.

Nichts für ungut, dennoch danke fürs Feedback. Aber vielleicht weiß ja jemand wirklich was dazu?
Mitglied: DerWoWusste
DerWoWusste 24.08.2012 aktualisiert um 16:57:39 Uhr
Goto Top
Aber vielleicht weiß ja jemand wirklich was dazu?
Solche Sätze bitte sparsam einsetzen, damit kann man Helfer doch leicht verärgern (auch wenn Du es vielleicht nicht so meinst).

Was Du erlebst, ist, dass es von remote geht - habe ich verstanden, ist die ganze Zeit schon angekommen. Aber, es geht nicht lokal - auch die ganze Zeit schon angekommen.
Es gibt die UAC und die RemoteUAC, lies Dich mal zu den Begriffen schlau. Remote kommen (je nach Einstellung) auch bei eingeschalteter UAC keine Abfragen, während sie (was Du erlebst) lokal kommen.
LocalAccountTokenFilterPolicy betrifft nur die remoteUAC.

Leider kannst Du das nicht ändern.

Bestes
DWW