Verwenden Sie das Skript in diesem Abschnitt, um den Bericht zur Rollenzuweisung zum Zählen der Anzahl an Benutzern für eine Umgebung zu generieren.
Hinweis:
provisionedUsersCount.bat sind username, password_file, service_url und report_file_name. Beispiel: Geben Sie in der Eingabeaufforderung einen Befehl ähnlich dem folgenden ein:
provisionedUsersCount.bat jdoe password.epw https://example.oraclecloud.com myRole_assign.CSV
@echo off
set paramRequiredMessage=Syntax: provisionedUsersCount.bat USERNAME PASSWORD_FILE URL REPORT_FILE_NAME
if "%~1" == "" (
echo User Name is missing.
echo %paramRequiredMessage%
exit /b 1
)
if "%~2" == "" (
echo 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%.
)