Use o script nesta seção para gerar o Relatório de Atribuição de Função a fim de fazer a contagem do número de usuários para um ambiente.
Crie provisionedUsersCount.bat copiando o script a seguir.
Nota:
provisionedUsersCount.bat são username, password/password_file, service_url e report_file_name. Por exemplo, no prompt de comando, digite um comando semelhante ao seguinte:
provisionedUsersCount.bat jdoe password.epw https://example.oraclecloud.com myRole_assign.CSV
@echo off
set paramRequiredMessage=Syntax: provisionedUsersCount.bat USERNAME PASSWORD/PASSWORD_FILE URL REPORT_FILE_NAME
if "%~1" == "" (
echo User Name is missing.
echo %paramRequiredMessage%
exit /b 1
)
if "%~2" == "" (
echo Password or Password_File is missing.
echo %paramRequiredMessage%
exit /b 1
)
if "%~3" == "" (
echo URL is missing.
echo %paramRequiredMessage%
exit /b 1
)
if "%~4" == "" (
echo Role Assignment Report File Name is missing.
echo %paramRequiredMessage%
exit /b 1
)
call epmautomate.bat login %~1 "%~2" %~3
REM call epmautomate.bat login %~1 "%~2" %~3
if %errorlevel% NEQ 0 exit /b 1
call epmautomate.bat roleAssignmentReport "%4"
if %errorlevel% NEQ 0 exit /b 1
call epmautomate.bat downloadFile "%4"
if %errorlevel% NEQ 0 exit /b 1
set filePath="%cd%\%4"
if exist %filePath% (
SETLOCAL EnableDelayedExpansion
set /a lineCount=0
set /a userCount=0
set userHeaderFound=false
for /f "tokens=*" %%A in ( 'type %filePath%' ) do (
set /a lineCount+=1
set line=%%A
REM Fetch username from role assignment information row
if !userHeaderFound!==true (
for /f "delims=," %%i in ("!line!") do (
set userName=%%i
)
if NOT !userName! == "" (
if !userCount! gtr 0 if NOT !userName! == !lastUserName! (
set /a userCount+=1
set users[!userCount!]=!userName!
)
if !userCount! == 0 (
set /a userCount+=1
set users[!userCount!]=!userName!
)
set lastUserName=!userName!
)
)
REM Check for headers of Role Assignment Report
if "!line!"=="User Login,First Name,Last Name,Email,Role,Granted through Group" (
set userHeaderFound=true
)
if "!line!"=="User Login,First Name,Last Name,Email,Roles,Granted Through" (
set userHeaderFound=true
)
)
echo Number of Users: !userCount!
for /l %%n in (1,1,!userCount!) do (
REM echo !users[%%n]!
)
endlocal
) else (
echo Invalid provisioning report file path - %filePath%.
)