15.20 Psexec als Alternative zu Runas, SU oder MakeMeAdmin
Das Tool psexec.exe von www.sysinternals.com kann in Verbindung mit einem Tool wie batcom und upx zur Lösung vieler Probleme genutzt werden. Immer dann, wenn die Berechtigungen eines einfachen Domänen-Benutzers erweitert werden müssen, um Anwendungen oder Routinen ausführen zu können, für die die Berechtigungen des einfachen Benutzers nicht ausreichen, kann man mit Hilfe der Kombination dieser Tools eine exe-Datei erstellen, die diese Anwendung oder Routine mit erweiterten Rechten (Administratorrechten) ausführt. Das Tool psexec.exe ist damit eine Alternative zu Routinen wie MakeMeAdmin bzw. MachMichAdmin (finden Sie über Google.de) oder SU (Super User aus dem Resource Kit von Windows Server).
Das Tool psexec ermöglicht es, auf dem eigenen Computer oder remote auf einem anderen Computer unter einem beliebigen Rechtekontext ein Programm oder eine Routine zu starten. Die Syntax von psexec.exe mit den wichtigsten Parametern lautet:
psexec.exe \\Remotecomputer –u Kennung -p Kennwort auszuführende_Routine
Darüber hinaus gibt es weitere Parameter, die Sie bitte der Dokumentation des Tools entnehmen (siehe auch das Verzeichnis Tools\psexec auf der Buch-DVD).
Bereits in der Erstausgabe dieses Buches beschrieb ich, wie man das SU-Tool nutzen kann, um z.B. über das Anmeldeskript Anwendungen auf die Clients zu verteilen, indem während der Anmeldung des Benutzers der Benutzerkontext gewechselt wird (siehe dazu die vorangegangenen Unterkapitel). Nachdem Microsoft jedoch neue Versionen bzw. Service Packs des Betriebssystems Windows XP bzw. des Tools SU selbst veröffentlichte, berichteten einige Leser meines Buches über Probleme und Fehlermeldungen bei der von mir vorgeschlagenen Vorgehensweise zur Verwendung dieses Tools. Wenn die verfügbare Version des Tools su.exe aus dem Windows Server Reskit im Zusammenspiel mit Windows XP, den eingespielten Service Packs und Hotfixes Probleme bereitet, so schlage ich vor, statt des Tools su das Tool psexcec einzusetzen. Die abgewandelte Routine intel.bat hätte dann folgenden Inhalt:
@echo off
cls
c:
cd\
if %1.==. goto ENDE
psexec.exe -u intel -p telin1 %1
:ENDE
Da in dieser Batchdatei das Kennwort der Kennung intel lesbar ist, wird die Datei intel.bat mit dem Tool batcom in eine exe-Datei konvertiert und diese exe-Datei mit dem Tool upx123w komprimiert. Als Ergebnis erhält man das selbst gestrickte Tool intel.exe, das dann in ein zentral zugängliches Tool-Verzeichnis \\Servername\netlogon\util eingestellt wird. Wenn ein Anwender die Datei intel.exe mit einem Hexeditor öffnet, wird er keine Hinweise mehr finden, wozu das Tool gut ist und wie es funktioniert.
Angenommen, unter %LOGONSERVER%\Netlogon\Batch gibt es eine Routine xyz.cmd, die eine Anwendung installiert. Sie könnten nun in das Anmeldeskript der Benutzer eine Zeile mit folgendem Inhalt einfügen:
if not exist C:\Programme\xyz %LOGONSERVER%\netlogon\util\intel.exe
%LOGONSERVER%\netlogon\batch\xyz.bat
Das Tool intel.exe stellt zuerst fest, dass der Parameter %1 nicht leer ist, sondern den Inhalt %LOGONSERVER%\Netlogon\Batch\xyz.bat hat. Wäre keine Routine übergeben worden, so würde die Routine intel.exe nach ENDE springen, ohne irgendetwas auszuführen. Jetzt aber wird die Installationsroutine xyz.bat an das Tool psexec übergeben und unter der Kennung intel mit dem Kennwort telin1 gestartet. Da dem Tool psexec als erster Parameter kein Remotecomputername über die Syntax \\Remotecomputername übergeben wurde, wird die Routine xyz.bat standardmäßig auf dem aufrufenden Computer ausgeführt. Die Routine xyz.bat läuft deshalb mit Administratorrechten auf dem Client ab, an dem sich der Benutzer an der Domäne angemeldet hat.
An dieser Stelle erneut der Sicherheitshinweis: Verwenden Sie eine andere Kennung als die von mir beispielhaft vorgeschlagene Kennung »intel«, ein sicheres Kennwort für diese Kennung und andere Dateinamen für die Routinen intel.bat und intel.exe.
|
Schnell werden Sie feststellen, dass die beschriebene Methode auch für andere Zwecke geeignet ist. Da es möglich ist, mit dem Tool psexec auch Aktionen auf anderen Computern remote auszuführen, können Sie ein Tool bereitstellen, das es ermöglicht, dass ein einfacher Anwender die Druckwarteschlange auf dem Server im Notfall neu starten darf. Lesen Sie die Anleitung »Druckwarteschlange durch Benutzer neu starten« im Verzeichnis Scripting\Druckwarteschlangen mit einfachen Benutzerrechten auf Server neu starten der Buch-DVD. Denkbar ist auch, ein Tool zu erstellen, mit dem bestimmte Anwender im Notfall die Exchange Server-Dienste neu starten oder eine Datenbank neu starten können. Der Artikel beschreibt eine Beispielanwendung.
Weitere Anleitungen und Tipps finden Sie in den Verzeichnissen Netlogon, Scripting und Windows XP\als Nichtadmin arbeiten auf der Buch-DVD.
|