Automatisation des téléchargements de rapport d'activité sur un ordinateur local

Utilisez le script de cette section pour automatiser le téléchargement des rapports d'audit à partir d'un environnement vers un ordinateur local.

Utilisez syncAprReports.bat pour télécharger les rapports d'activité. Vous pouvez planifier le fichier batch à l'aide du planificateur Windows afin d'automatiser le téléchargement des rapports d'activité. Reportez-vous à la section Surveillance de l'utilisation à l'aide de rapports d'activité et de journaux d'accès du guide Mise en route d'Oracle Enterprise Performance Management Cloud pour les administrateurs pour obtenir des informations détaillées sur le rapport d'activité.

Créez manuellement syncAprReports.bat en copiant le script fourni dans la procédure suivante, puis en mettant à jour les paramètres de connexion. Ce script vérifie l'environnement et télécharge uniquement les rapports qui sont plus récents que ceux disponibles dans le répertoire de téléchargement sur l'ordinateur local.

Remarque :

  • Le script doit être exécuté à partir d'un ordinateur Windows uniquement.
  • Ce script ne télécharge pas le rapport d'activité des commentaires qui est généré lorsque les utilisateurs soumettent un commentaire.
  • Si le mot de passe utilisé contient des caractères spéciaux, reportez-vous à la section Gestion des caractères spéciaux.
  1. Créez un fichier batch (.BAT) nommé syncAprReports.bat contenant le script suivant et enregistrez-le à un emplacement pratique, par exemple 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. Modifiez syncAprReports.bat pour définir les valeurs des paramètres du tableau suivant. Ces valeurs permettent d'accéder à l'environnement pour télécharger des rapports d'activité.

    Tableau 3-3 Valeurs de paramètre à inclure dans syncAprReports.bat

    Paramètre  Valeur attendue
    set apr_dir=%1 Spécifiez un répertoire existant dans lequel les rapports d'activité doivent être téléchargés.

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

    set username=%2 Nom d'utilisateur Oracle Enterprise Performance Management Cloud à utiliser pour se connecter à l'environnement afin de télécharger des rapports d'activité.

    Exemple : set username="ServiceAdmin"

    set password=%3

    Nom et emplacement du fichier qui stocke le mot de passe crypté de l'utilisateur spécifié par la variable username. Vous pouvez également indiquer le mot de passe en texte brut de l'utilisateur (non recommandé). Pour obtenir des informations sur la création d'un fichier de mots de passe cryptés, reportez-vous à la commande encrypt.

    Exemples :

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

    set password="Ex@mple1"

    set url=%4 URL de l'environnement.

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

  3. A l'aide du planificateur Windows, planifiez syncAprReports.bat. Reportez-vous à la section Automatisation de l'exécution de scripts pour obtenir les étapes détaillées.