Downloads von Aktivitätsberichten auf einen lokalen Computer automatisieren

Verwenden Sie das Skript in diesem Abschnitt, um das Herunterladen von Aktivitätsberichten aus einer Umgebung auf einen lokalen Computer zu automatisieren.

Verwenden Sie syncAprReports.bat, um Aktivitätsberichte herunterzuladen. Sie können die Batchdatei mit Windows Scheduler so planen, dass das Herunterladen von Aktivitätsberichten automatisiert wird. Detaillierte Informationen zu Aktivitätsberichten finden Sie unter Aktivitätsberichte und Zugriffslogs zum Überwachen der Verwendung verwenden in Erste Schritte mit Oracle Enterprise Performance Management Cloud for Administrators.

Sie erstellen syncAprReports.bat manuell, indem Sie das in der folgenden Prozedur bereitgestellte Skript kopieren und dann die Verbindungsparameter aktualisieren. Dieses Skript prüft die Umgebung und lädt nur die Berichte herunter, die neuer sind als die Berichte, die im Downloadverzeichnis auf dem lokalen Computer verfügbar sind.

Hinweis:

  • Dieses Skript kann nur auf einem Windows-Computer ausgeführt werden.
  • Der Feedbackaktivitätsbericht, der generiert wird, wenn Benutzer Feedback weiterleiten, wird mit diesem Skript nicht heruntergeladen.
  • Wenn das Kennwort, das Sie verwenden, Sonderzeichen enthält, finden Sie unter Sonderzeichen verarbeiten weitere Informationen.
  1. Erstellen Sie eine Batchdatei (.BAT) namens syncAprReports.bat, die das folgende Skript enthält, und speichern Sie sie in einem entsprechenden Speicherort, beispielsweise C:\automate_scripts.
    @echo off
    title APR
    setlocal DisableDelayedExpansion
    
    REM To hardcode the values in the script replace %1, %2, %3, and %4, with the actual values.
    REM Example:
    REM set apr_dir="C:\Oracle\apr"
    REM set username="serviceAdmin"
    REM set password="Ex@mple!"
    REM set url="https://test-example.stg-pbcs.us1.oraclecloud.com"
    set apr_dir=%1
    set username=%2
    set password=%3
    set url=%4
    setlocal EnableDelayedExpansion
    set epmautomate_dir=%cd%
    set lastfile=
    set argC=0
    for %%x in (%*) do Set /A argC+=1
    if %argC% neq 0 (
            if %argC% neq 3 (
                    if %argC% neq 4 (
                            goto :usage
                    )
            )
    )
    goto :login
    :usage
    echo.
    echo Invalid syntax. Please check the parameters. 
    echo Syntax:
    echo 1) syncAprReports.bat APR_FolderPath_on_client username password url
    echo     or 
    echo 2) set the parameters in the file and use below syntax
    echo    syncAprReports.bat
    goto :end
    
    :login
    setlocal DisableDelayedExpansion
    for /f "delims=" %%i in ('epmautomate login %username% %password% %url%') do set result=%%i
    if "Login successful" neq "%result%" (
            echo Login Failed
            goto :end
    ) 
    
    if not exist %apr_dir% (
    echo.
    echo apr folder does not exist 
    GOTO :end
    )
    cd /D %apr_dir%
    for /f "delims=" %%D in ('dir /a:d /b /o:-n') do ( 
    REM AFTER: for /f "delims=" %%D in ('dir /a-d /b /s /o:-n') do (
            set "lastFile=%%~nD"
            goto :next
    )
    
    :next
    setlocal EnableDelayedExpansion
    echo.
    echo Most Recent APR on client is %lastFile%
    
    set "output_cnt=0"
    cd /D %epmautomate_dir%
    for /F "delims=" %%f in ('epmautomate listfiles') do (
    
            cd /D !apr_dir!
            set "line=%%f"
            for /f "tokens=* delims= " %%a in ("!line!") do set line=%%a
            if "!line:~0,3!" equ "apr" (
    
                    if "!line:~4,8!" neq "Feedback" (
    
                            set isValidFile=false
                            if "!line:~-5!" equ ".html" set isValidFile=true
                            if "!line:~-5!" equ ".json" set isValidFile=true
    
                            if "!isValidFile!" equ "true" (
                                    
                                    if "%lastFile%" lss "!line:~4,19!" (
                                            
                                                    if "!line:~4,19!" neq "!dirname!" (
                                                            
                                                            set apr_dir=!apr_dir:"=!
                                                            set /a output_cnt+=1
                                                            set "output[!output_cnt!]=!apr_dir!\!line:~4,19!"
                                                            set "dirname=!line:~4,19!"
                                                            
                                                            REM start downloading
                                                            mkdir "!dirname!"
                                                            cd /D !dirname!
                                                            echo downloading !line!
                                                            set "downloadDir=!apr_dir!\!dirname!"
                                                                                    
                                                            cd /D %epmautomate_dir%
                                                            for /f "delims=" %%i in ('epmautomate downloadfile "!line!"') do set result1=%%i
                                                            move "!line:~24!" "!downloadDir!" > nul
                                                            echo !result1!
                                                            REM end downloading
                                                            
                                                    ) else (
                                                    
                                                            REM start downloading
                                                            cd /D !dirname!
                                                            echo downloading !line!
                                                            set apr_dir=!apr_dir:"=!
                                                            set "downloadDir=!apr_dir!\!dirname!"
                                                            cd /D %epmautomate_dir%
                                                            for /f "delims=" %%i in ('epmautomate downloadfile "!line!"') do set result1=%%i
                                                            move "!line:~24!" "!downloadDir!" > nul
                                                            echo !result1!
                                                            REM end downloading
                                                            
                                                    )
                                    ) else (
                                    
                                            REM TO-DO
                                            
                                    )
                            )
                    )
            )
    )
    
    echo.
    echo %output_cnt% APR's downloaded
    for /L %%n in (1 1 !output_cnt!) DO echo !output[%%n]!
    goto :end
    
    :end
    cd /D %epmautomate_dir%
    endlocal
  2. Ändern Sie syncAprReports.bat, um die Werte für die Parameter in der folgenden Tabelle festzulegen. Mit diesen Werten wird auf die Umgebung zugegriffen, um Aktivitätsberichte herunterzuladen.

    Tabelle 3-3 In syncAprReports.bat einzuschließende Parameterwerte

    Parameter Erwarteter Wert
    set apr_dir=%1 Geben Sie ein vorhandenes Verzeichnis an, in das Aktivitätsberichte heruntergeladen werden sollen.

    Beispiel: set apr_dir="C:\Oracle\apr"

    set username=%2 Ein Oracle Enterprise Performance Management Cloud-Benutzername, der für die Anmeldung bei der Umgebung verwendet werden muss, um Aktivitätsberichte herunterzuladen.

    Beispiel: set username="ServiceAdmin"

    set password=%3

    Der Name und Speicherort der Datei, in der das verschlüsselte Kennwort des Benutzers gespeichert wird, der mit der Variable username angegeben wird. Sie können auch das Nur-Text-Kennwort des Benutzers angeben (nicht empfohlen). Informationen zum Erstellen einer verschlüsselten Kennwortdatei finden Sie im Abschnitt zum Befehl encrypt.

    Beispiele:

    set password="C:\mySecuredir\password.epw"

    set password="Ex@mple1"

    set url=%4 Die URL der Umgebung.

    Beispiel: set url="https://test-example.stg-pbcs.us1.oraclecloud.com"

  3. Planen Sie syncAprReports.bat mit Windows Scheduler. Detaillierte Schritte finden Sie unter Skriptausführung automatisieren