-
Powershell Befehle mit bestimmten Parametern ermitteln
Ich möchte kurz erläutern, wie ein PowerShell Befehl gefunden werden kann, der einen bestimmten Parameter besitzt. Dieser Tipp erscheint auf den ersten Blick nicht sonderlich sinnvoll. An einem Beispiel wird aber schnell die sinnvolle Verwendung deutlich. Insbesondere Anfänger, welche die PowerShell erlernen, werden diese Abfrage schnell zu schätzen wissen. Ich möchte zum Beispiel alle Befehle finden, die etwas rekursiv durchsuchen (Dateien/Verzeichnisse/Regitry/etc): Get-Command|where { $_.Parameters.Keys -contains "recurse" } CommandType Name Definition ———– —- ———- Alias copy Copy-Item Cmdlet Copy-Item Copy-Item [-Path] [[-Destination]
-
Dauerhafte Formatierungen in SQLPLUS setzen
In SQLPLUS müssen die Ausgaben leider sehr aufwending mit den Befehlen SET und COLUMN formatiert werden. Zudem sind diese Formatierungen nur in der aktuellen SQLPLUS Sitzung gültig. Damit bestimmte Einstellungen dauerhaft gesetzt werden können, bietet Oracle 2 Konfigurationsdateien an: $ORACLE_HOME/sqlplus/admin/glogin.sql ./login.sql Die erste ist global gültig und wird immer gelesen. Die zweite wird nur gelesen, wenn man SQLPLUS im Verzeichnis dieser Datei gestartet wird. Daher bietet sich für allgemeine Einstellungen, die für alle Benutzer gültig sein sollen, glogin.sql an. Eine von mir gewöhnlich verwendete glogin.sql sieht zum Beispiel so aus: — — Copyright (c) 1988, 2011, Oracle and/or its affiliates. ## — All rights reserved. — NAME ## — glogin.sql…
-
Die Ausführung von PowerShell Skripten zulassen
PowerShell Skripte dürfen in Windows standardmäßig nicht ausgeführt werden. Windows verweigert die Ausführung. Öffnen Sie die Windows PowerShell mit dem Kontextmenübefehl Als Administrator ausführen (rechter Mausklick auf das PowerShell Icon) und geben Sie den Befehl PS> Set-ExecutionPolicy RemoteSigned ein. Ich empfehle grundsätzlich die Eingabe von RemoteSigned anstatt Unrestricted. RemoteSigned erlaubt im Gegensatz zu Unrestricted die Ausführung von lokal erstellten PowerShell Skripten. Diese Skriptdateien müssen nicht signiert werden. Achtung: Sollten die Skripte auf einem anderen Rechner erstellt worden sein, so verweigert Windows die Ausführung unter Umständen (wenn der Rechner nicht in einer vertrauenwürdigen Umgebung war (siehe Internet Explorer Zones). Mit dem Befehl Set-ExecutionPolicy Allsigned müssen alle Skripte digital signiert werden. Ob…
-
Zugriff auf Active Directory mit PowerShell
Um Zugriff auf das Microsoft Windows Active Directory zu bekommen, ist das Modul ActiveDirectory erforderlich. Dieses kann über den Server Manager eingefügt werden. Vorgehensweise: Microsoft Windows Server Manager starten, im Baum links Features auswählen, dann im Hauptfenster Add Features anklicken. Im folgenden Dialogfenster Remote Server Administration Tools Role Administration Tools AD DS and AD LDS Tools aufklappen. Active Directory module for Windows PowerShell anklicken (Haken setzen) Next anklicken. Eventuell ist der Installation des .Net Frameworks zuzustimmen. Fertig. Das Modul ActiveDirectory ist jetzt verfügbar: PS > Get-Module -ListAvailable ModuleType Name ExportedCommands ———- —- —————- Manifest ActiveDirectory {}
-
PowerShell Module
Sind bestimmte Module auf dem Windows PC vorhanden? Eine Anzeige der installierten Module liefert der Befehl Get-Module. PS > Get-Module -ListAvailable ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest ADRMS {} Manifest AppLocker {} Manifest BestPractices {} Manifest BitsTransfer {} Manifest PSDiagnostics {} Manifest ServerManager {} Manifest TroubleshootingPack {} PS > Get-Module Hyper-V Keine Ausgabe, wie beim letzten Kommando, bedeutet, dass dieses Modul nicht installiert ist oder man sich vertippt hat.
-
Powershell Version
Oft ist es relevant zu wissen, welche PowerShell Version installiert ist. Dies kann durch Ausgabe der Variablen $PSVersionTable.PSVersion erfolgen. In PowerShell 1.0 gibt es diese Variable noch nicht. PS > $PSVersionTable.PSVersion Major Minor Build Revision ----- ----- ----- -------- 2 0 -1 -1 In diesem Fall liegt Version 2.0 vor.
-
Beenden des Backup Mode von Datendateien / Tablespaces
Ist ein Tablespace im Backup Mode verblieben, obwohl das Backup nicht mehr läuft, so muss der Modus manuell umgesetzt werden. Zuerst gilt es herauszufinden, welcher Tablespace oder welche Datendatei im Backup Modus ist. Dazu kann wie im Artikel Oracle Backup Mode auflisten beschrieben vorgegangen werden. Meist möchte man nur die Tablespaces wissen, da brbackup und andere Tools nicht einzelne Datendateien in den Backup Modus setzen, sondern den gesamten Tablespace. Achtung: Bitte unbedingt prüfen, ob wirklich kein Backup läuft! > SELECT d.tablespace_name, b.time, b.status FROM dba_data_files d, v$backup b WHERE d.file_id = b.FILE# AND b.STATUS = ‘ACTIVE’;`TABLESPACE_NAME TIME STATUS —————- ————— ——— PSAPSR3731 15-JUL-15 ACTIVE PSAPSR3731 15-JUL-15 ACTIVE PSAPSR3731 15-JUL-15 ACTIVE…
-
awk – Ändern der Großschreibung in Kleinbuchstaben
Die Funktion tolower in einem awk Skript ändert Grossbuchstaben in Kleinbuchstaben: awk '{ print tolower($0) }' Die Funktion toupper in einem awk Skript ändert Grossbuchstaben in Kleinbuchstaben: awk '{ print toupper($0) }' Beispiel für AWK Funktion tolower In diesem Beispiel soll das erste Feld in Kleinbuchstaben ausgegeben werden. echo ABCDEF GHIJK | awk '{ print tolower($1), $2 }' abcdef GHIJK Beispiel für AWK Funktion toupper In diesem Beispiel soll das erste Feld in Kleinbuchstaben ausgegeben werden. echo abcdef ghijk | awk '{ print toupper($1), $2 }' ABCDEF ghijk
-
Leerzeilen aus einer ASCII Datei entfernen
Um bei einer Dateianzeige die leeren Zeilen zu entfernen, gibt es verschiedene Möglichkeiten. Ich stelle hier 2 Methoden vor. Variante 1 verwendet den Unix Befehl grep grep -v ^$ Variante 2 verwender das Kommando awk. awk ' NF>0 ' Beispiel für grep Das verwendete Pattern setzt sich aus einem ^ für den Zeilenanfang und einem $ für das Zeilenende zusammen. Leerzeilen setzen sich ja, bei genauer Betrachtung, aus einem Zeilenanfang sofort gefolgt von einem Zeilenende zusammen. echo "ABCDEF \n\n GHIJK \n\n\nXYZ" | grep -v ^$ ABCDEF GHIJK XYZ Beispiel für awk Beim awk wird die interne Variable NF verwendet. NF enth%auml;lt die Anzahl der Felder der aktuellen Zeile. Leerzeilen haben…
-
SLD Arbeitsverzeichnis – CR Content Update
Das Aktualisieren von SLD Inhalten (CIM Modell, SAP CR CONTENT) erfolgt durch Upload der entprechenden Dateien aus dem SAP Service Marketplace (https://service.sap.com/swdc > Download -> Support Packages and Patches -> SAP Technology Components -> SAP CR Content) Beim Upload und Einspielen werden diese Dateien auf dem Server der SAP Instanz zwischengepeichert. Der Speicherort ist standardmäßig das SLD Arbeitsverzeichnis und entspricht der Java System Eigenschaft sys.global.dir, bzw. sollte mit dem Profilparameter DIR_GLOBAL übereinstimmen. Eine Änderung dieses Arbeitsverzeichnisses kann im SLD über Administration -> Profile / Settings vorgenommen werden. Fehlerhafte Eingaben für das Arbeitsverzeichnis erzeugen Fehlermeldungen wie: ERROR com.sap.lcr.start.StartDirector: Problems detected during setup of the SLD working directory “”, working directory is…