Betriebssystembefehle via Transaktion ausführen

Autor: Dominik Busse | 17. Juni 2014

28 | #SAP Transaktion

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.

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.

E-Book SAP Basis

Mehr als 100 ausgewählte SAP Basis Fachartikel von rz10.de seit 2011! Auf über 900 Seiten Tipps, Tricks und Tutorials mit Screenshots aus echten SAP-Systemen.

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!


Artikel war hilfreichArtikel empfehlen


Dieser Beitrag ist auch als Download verfügbar:
Dominik Busse

Autor

Dominik Busse

B.Sc. Wirtschaftsinformatik

Fragen? Anmerkungen?
Kontaktieren Sie mich

Kommentar verfassen


Unsere Top-Downloads

Kontaktieren Sie uns!
Renate Burg Kundenservice