Dominik Busse
 - 17. Juni 2014

Betriebssystembefehle via Transaktion ausführen

Sie haben keinen direkten Zugriff auf die Betriebssystem-Ebene eines SAP-Systems, möchten aber dennoch Betriebssystembefehle ausführen. Mit der folgenden Transaktion ist das Ausführen von Betriebssystembefehlen ohne direkten Betriebssystem-Zugriff möglich.

Die Transaktion SM49 ermöglicht das Ausführen externer Betriebssystembefehle aus dem SAP-System heraus. Dabei können Sie einerseits auf vordefinierte Betriebssystembefehle zurückgreifen und andererseits weitere Betriebssystembefehle hinzufügen. Beide Szenarien werden im Folgenden erläutert.

harmes_180x227
Zu zweit schneller zum Ergebnis 🙂
Expert Session mit Spezialist Tobias Harmes anfragen
Vier Augen sehen mehr als zwei! Wenn Sie die Inhalte aus diesem Artikel schnell umsetzen wollen, kann ich Ihnen gerne dabei helfen.
Online Expert Session

Externe Betriebssystembefehle ausführen

Führen Sie zunächst die Transaktion SM49 – Externe Betriebssystemkommandos aus. Sie sehen eine Übersicht über alle vordefinierten Betriebssystembefehle:

betriebssystembefehle_01

Um einen Betriebssystembefehl auszuführen, klicken Sie doppelt auf den gewünschten Befehl. In diesem Beispiel wählen wir den Betriebssystembefehl PING aus. Es öffnet sich die Detailansicht des Befehls:

betriebssystembefehle_02

In der Detailansicht werden die Grundinformationen zum ausgewählten Befehl angezeigt – so zum Beispiel der Typ des Betriebssystems (z.B. Windows) auf dem der Befehl ausgeführt wird. Nach dem Klick auf Ausführen kann der Befehl weiter spezifiziert werden. Im Beispiel des Ping-Befehls muss schließlich noch eine IP-Adresse oder der Name eines Rechners als Parameter übergeben werden. Daraufhin kann der Befehl entweder direkt im Dialog ausgeführt werden [Ausführen (F8)] oder (zeitversetzt) im Hintergrund [Ausführen im Hintergrund (F9)]. Im Folgenden wird der Ping-Befehl direkt auf localhost ausgeführt:

betriebssystembefehle_03

Mit dem Klick auf Ausführen wird der Befehl direkt ausgeführt und die Ausgabe des Betriebssystembefehls wird angezeigt:

betriebssystembefehle_04

Weitere Betriebssystembefehle selbst definieren

Neben den vordefinierten Befehlen können Sie auch eigene/weitere Befehle – die im Rahmen des hinterlegten Betriebssystems möglich sind – definieren. Hierfür klicken Sie im Einstiegsbildschirm der Transaktion auf das Anlegen-Icon:

betriebssystembefehle_05

In dem Dialog zum Anlegen eines Betriebssystembefehls müssen Sie folgende Informationen hinterlegen:

Kommandoname: Der Titel des definierten Befehls, welcher in der Übersicht im Einstiegsbildschirm angezeigt wird. Wichtig: Der Name eigens definierter Betriebssystembefehle muss im Kundennamensraum liegen und mit Z oder Y beginnen.

Betriebssystem: Hier geben Sie das Betriebssystem an, auf welchem das SAP-System läuft. Wählen Sie hierfür das Feld aus und öffnen Sie die Wertehilfe mit F4. Anschließend können Sie ein bestimmtes Betriebssystem oder ANYOS auswählen, um den Befehl betriebssystemunabhängig zu hinterlegen.

Betriebssystem-Kommando: Hier geben Sie den eigentlichen Betriebssystembefehl an, welcher ausgeführt werden soll.

Parameter für Betriebssystem-Kommando: In diesem Feld können Sie feste Parameter hinterlegen, die mit dem Befehl ausgeführt werden sollen.

Zusätzliche Parameter erlaubt: Setzen Sie den Haken, um zusätzliche Parameter beim Ausführen des Befehls zu erlauben.

Zur Veranschaulichung zeigt der folgende Screenshot das beispielhafte Anlegen eines externen Kommandos für den Betriebssystembefehl help:

betriebssystembefehle_006

Letztendlich taucht der eigens definierte Betriebssystembefehl in der Übersicht im Einstiegsbild auf und kann wie oben beschrieben ausgeführt werden.

betriebssystembefehle_07

 

Sicherheitshinweis: Zugriff limitieren!

Der Zugriff auf die SM49 und das Ausführen von Betriebssystembefehlen aus dem SAP-System heraus ist aus sicherheitstechnischer Sicht natürlich höchst kritisch und sollte deswegen sehr limitiert werden. Beim Öffnen der Transaktion und Ausführen von Befehlen werden die folgenden Berechtigungsobjekte geprüft:

betriebssystembefehle

Neben dem obligatorischen S_TCODE für das Ausführen der Transaktion an sich, ist hierbei das Berechtigungsobjekt S_LOG_COM interessant, welches beim Ausühren eines Betriebssystembefehls geprüft wird. Es besteht aus den drei Berechtigungsfeldern:

COMMAND:  In der Transaktion definierter Name des Betriebssystemkommandos

OPSYSTEM: Betriebssystem des Zielsystems (bspw. WINDOWS NT, ANYOS, AIX, UNIX)

HOST: Hostname des Zielsystems

Über dieses Berechtigungsobjekt können Sie das Ausführen einzelner Betriebssystembefehle limitieren.

Sie benötigen Unterstützung bei der Umsetzung? Unser Autor Dominik Busse ist Berater für dieses Thema. Fragen Sie ihn an über das RZ10.de Partnerprodukt Berater für SAP Basis

Was sind Ihre Erfahrungen?

Welche Erfahrungen haben Sie mit dem Ausführen und Anlegen von Betriebssystembefehlen über die SM49 gemacht? Gab es bereits Situationen, in denen Sie auf diese Möglichkeit zurückgreifen mussten? Ich freue mich auf Ihre Kommentare und Antworten!

Dominik Busse

Mein Name ist Dominik Busse und ich bin zertifizierter Managing Consultant bei mindsquare. Als Projektleiter und HR Business Partner des Fachbereichs Security liegt mein Fokus auf Redesign-Projekte für SAP Berechtigungen.

Sie haben Fragen? Kontaktieren Sie mich!

Jetzt das kostenlose E-Book zum Thema SAP Basis herunterladen:

Jetzt das kostenlose E-Book mit ausgewählten Fachartikeln herunterladen:



Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support