Utilizzare gli script in questa sezione per clonare gli utenti di un dominio di Identity in un altro dominio di Identity. L'utente che esegue questi script deve disporre dei ruoli Amministratore dominio di Identity e Amministratore servizi negli ambienti di origine e target.
Windows
Creare replicateusers.bat e replicateusers.ps1 copiando gli script in questa sezione.
Creare replicateusers.ps1 copiando lo script riportato di seguito.
# Replicate users script
$inputproperties = ConvertFrom-StringData(Get-Content ./input.properties -raw)
$epmusersource="$($inputproperties.epmusersource)"
$epmpwdsource="$($inputproperties.epmpwdsource)"
$epmurlsource="$($inputproperties.epmurlsource)"
$epmidentitydomainsource="$($inputproperties.epmidentitydomainsource)"
$epmusertarget="$($inputproperties.epmusertarget)"
$epmpwdtarget="$($inputproperties.epmpwdtarget)"
$epmurltarget="$($inputproperties.epmurltarget)"
$epmidentitydomaintarget="$($inputproperties.epmidentitydomaintarget)"
$proxyserverusername="$($inputproperties.proxyserverusername)"
$proxyserverpassword="$($inputproperties.proxyserverpassword)"
$proxyserverdomain="$($inputproperties.proxyserverdomain)"
$userpassword="$($inputproperties.userpassword)"
$resetpassword="$($inputproperties.resetpassword)"
$emailtoaddress="$($inputproperties.emailtoaddress)"
$roleassignmentreport="roleassignmentreport.csv"
$usersreport="users.csv"
echo "Replicate users script started"
# delete existing reports
$roleassignmentreportexists=Test-Path $roleassignmentreport
if ($roleassignmentreportexists) {
rm $roleassignmentreport 2>&1 | out-null
}
$usersreportexists=Test-Path $usersreport
if ($usersreportexists) {
rm $usersreport 2>&1 | out-null
}
# epmautomate login Source App as an IDM Admin
echo "Logging into source application at ${epmurlsource}"
epmautomate login ${epmusersource} ${epmpwdsource} ${epmurlsource} ${epmidentitydomainsource} ${proxyserverusername} ${proxyserverpassword} ${proxyserverdomain}
echo "Creating role assignment report: ${roleassignmentreport}"
epmautomate roleAssignmentReport ${roleassignmentreport}
if (${emailtoaddress} -match "@") {
epmautomate.bat sendMail $emailtoaddress "Role assignment report" Body="Role assignment report is attached." Attachments=$roleassignmentreport}
echo "Downloading role assignment report"
epmautomate downloadfile ${roleassignmentreport}
epmautomate deletefile ${roleassignmentreport}
epmautomate logout
# Create users report
Get-Content ${roleassignmentreport} | ForEach-Object {
$user=$_.split(',')[0]
$firstname=$_.split(',')[1]
$lastname=$_.split(',')[2]
$email=$_.split(',')[3]
if ($firstname -eq "First Name") {
return
} else {
echo "${firstname},${lastname},${email},${user}" >> ${usersreport}
}
}
Get-Content -Path "${usersreport}" | Sort-Object -Unique > "${usersreport}.tmp"
mv -Force "${usersreport}.tmp" "${usersreport}"
$userheader="First Name,Last Name,Email,User Login"
"${userheader}`r`n" + (Get-Content $usersreport -Raw) | Set-Content $usersreport
# epmautomate login Target App as an IDM Admin
echo "Logging into target application at ${epmurltarget}"
epmautomate login ${epmusertarget} ${epmpwdtarget} ${epmurltarget} ${epmidentitydomaintarget} ${proxyserverusername} ${proxyserverpassword} ${proxyserverdomain}
epmautomate deletefile ${usersreport} | Out-Null
echo "Uploading file ${usersreport}"
epmautomate uploadfile ${usersreport}
echo "Adding users"
epmautomate addUsers ${usersreport} userPassword=${userpassword} resetPassword=${resetpassword}
epmautomate deletefile ${usersreport}
epmautomate logout
rm deletefile*.log | Out-Null
echo "Replicate users script completed"
input.properties copiando lo script riportato di seguito.
epmusersource=EPM USER FOR SOURCE ENVIRONMENT epmpwdsource=EPM PASSWORD FILE FOR SOURCE ENVIRONMENT epmurlsource=EPM URL FOR SOURCE ENVIRONMENT epmidentitydomainsource=EPM IDENTITY DOMAIN FOR SOURCE ENVIRONMENT epmusertarget=EPM USER FOR TARGET ENVIRONMENT epmpwdtarget=EPM PASSWORD FILE FOR TARGET ENVIRONMENT epmurltarget=EPM URL FOR TARGET ENVIRONMENT epmidentitydomaintarget=EPM IDENTITY DOMAIN FOR TARGET ENVIRONMENT proxyserverusername=PROXY SERVER USER NAME proxyserverpassword=PROXY SERVER PASSWORD FILE proxyserverdomain=PROXY SERVER DOMAIN userpassword=DEFAULT PASSWORD FOR REPLICATED USERS resetpassword=false emailtoaddress=EMAIL_TO_ADDRESS
input.properties. Fare riferimento alla tabella riportata di seguito per le informazioni sui valori da specificare.
| Parametro | Descrizione |
|---|---|
epmusersource |
Nome utente di un utente con i ruoli Amministratore dominio di Identity e Amministratore servizi nell'ambiente di origine.
Esempi: Windows: Linux/UNIX: |
epmpwdsource |
La password dell'utente o il percorso assoluto del file delle password cifrate.
Esempi: Windows: Linux/UNIX: |
epmurlsource |
URL dell'ambiente da cui devono essere copiati gli utenti.
Esempi: Windows: Linux/UNIX: |
epmidentitydomainsource |
Nome del dominio di Identity utilizzato dall'ambiente di origine.
Esempi: Windows: Linux/UNIX: |
epmusertarget |
Nome utente di un utente con i ruoli Amministratore dominio di Identity e Amministratore servizi nell'ambiente target.
Esempi: Windows: Linux/UNIX: |
epmpwdtarget |
La password dell'utente o il percorso assoluto del file delle password cifrate.
Esempi: Windows: Linux/UNIX: |
epmurltarget |
URL dell'ambiente in cui devono essere creati gli utenti.
Esempi: Windows: Linux/UNIX: |
epmidentitydomaintarget |
Nome del dominio di Identity utilizzato dall'ambiente target.
Esempi: Windows: Linux/UNIX: |
proxyserverusername |
Il nome utente per l'autenticazione di una sessione sicura con il server proxy che controlla l'accesso a Internet. Eliminare tutte le occorrenze di questa proprietà, se non utilizzate.
Esempi: Windows: Linux/UNIX: |
proxyserverpassword |
La password per autenticare l'utente con il server proxy. Eliminare tutte le occorrenze di questa proprietà, se non utilizzate.
Esempi: Windows: Linux/UNIX: |
proxyserverdomain |
Il nome del dominio definito per il server proxy. Eliminare tutte le occorrenze di questa proprietà, se non utilizzate.
Esempi: Windows: Linux/UNIX: |
emailtoaddress |
(Facoltativo) Indirizzo e-mail a cui deve essere inviato il report assegnazioni ruoli. Il report viene inviato via e-mail solo se viene specificato questo valore.
Esempio: |
Linux/UNIX
replicateusers.sh copiando lo script riportato di seguito.
#!/bin/sh
. ./input.properties
roleassignmentreport="roleassignmentreport.csv"
usersreport="users.csv"
paramrequiredmessage='Syntax: replicateusers.sh
export JAVA_HOME=${javahome}
echo "Replicate users script started"
# epmautomate login Source App as an IDM Admin
echo "Logging into source application at ${epmurlsource}"
${epmautomatescript} login ${epmusersource} ${epmpwdsource} ${epmurlsource} ${epmidentitydomainsource} ${proxyserverusername} ${proxyserverpassword} ${proxyserverdomain}
echo "Creating role assignment report: ${roleassignmentreport}"
${epmautomatescript} roleAssignmentReport ${roleassignmentreport}
if [[ "${emailtoaddress}" == *"@"* ]]
then
${epmautomatescript} sendMail $emailtoaddress "Role assignment report" Body="Role assignment report is attached." Attachments=$roleassignmentreport
fi
echo "Downloading role assignment report"
${epmautomatescript} downloadfile ${roleassignmentreport}
${epmautomatescript} deletefile ${roleassignmentreport}
${epmautomatescript} logout
awk -F, '{print $2","$3","$4","$1}' ${roleassignmentreport} | (read -r; printf "%s\n" "$REPLY"; sort -u) > ${usersreport}
# epmautomate login Target App as an IDM Admin
echo "Logging into target application at ${epmurltarget}"
${epmautomatescript} login ${epmusertarget} ${epmpwdtarget} ${epmurltarget} ${epmidentitydomaintarget} ${proxyserverusername} ${proxyserverpassword} ${proxyserverdomain}
${epmautomatescript} deletefile ${usersreport} > /dev/null 2>&1
echo "Uploading file ${usersreport}"
${epmautomatescript} uploadfile ${usersreport}
echo "Adding users"
${epmautomatescript} addUsers ${usersreport} userPassword=${userpassword} resetPassword=${resetpassword}
${epmautomatescript} deletefile ${usersreport}
${epmautomatescript} logout
rm deletefile*.log > /dev/null 2>&1
echo "Replicate users script completed"
input.properties copiando lo script riportato di seguito.
javahome=JAVA HOME epmautomatescript=EPM AUTOMATE SCRIPT LOCATION epmusersource=EPM USER FOR SOURCE ENVIRONMENT epmpwdsource=EPM PASSWORD FILE FOR SOURCE ENVIRONMENT epmurlsource=EPM URL FOR SOURCE ENVIRONMENT epmidentitydomainsource=EPM IDENTITY DOMAIN FOR SOURCE ENVIRONMENT epmusertarget=EPM USER FOR TARGET ENVIRONMENT epmpwdtarget=EPM PASSWORD FILE FOR TARGET ENVIRONMENT epmurltarget=EPM URL FOR TARGET ENVIRONMENT epmidentitydomaintarget=EPM IDENTITY DOMAIN FOR TARGET ENVIRONMENT proxyserverusername=PROXY SERVER USER NAME proxyserverpassword=PROXY SERVER PASSWORD FILE proxyserverdomain=PROXY SERVER DOMAIN resetpassword=false emailtoaddress=EMAIL_TO_ADDRESS
input.properties. Fare riferimento alla Tabella 3-* per informazioni sui valori da specificare. Inoltre, è necessario specificare i valori per le proprietà riportate di seguito.
javahome: il percorso assoluto alla directory dove è installato Java.epmautomatescript: posizione di epmautomatescript.sh; ad esempio, epmautomatescript="/home/user1/epmautomate/bin/epmautomate.sh"