이 섹션의 스크립트를 사용하여 환경의 사용자 수를 계산하는 역할 지정 보고서를 생성할 수 있습니다.
다음 스크립트를 복사하여 provisionedUsersCount.bat를 생성합니다.
주:
provisionedUsersCount.bat를 실행하기 위한 입력 매개변수는 username, password/password_file, service_url, report_file_name입니다. 예를 들어 명령 프롬프트에서 다음과 유사한 명령을 입력합니다.
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%.
)