Erstellen Sie input.properties
und skip_update.ps1
, indem Sie die Skripte in diesem Abschnitt kopieren.
input.properties
, indem Sie das folgende Skript kopieren:
username=exampleAdmin password=examplePassword.epw url=exampleURL updatemonths=02,05,08,11
input.properties
, indem Sie Parameterwerte festlegen.
Table 3-11 Parameter für "input.properties"
Parameter | Beschreibung |
---|---|
username |
Benutzername eines Serviceadministrators. |
password |
Kennwort des Serviceadministrators oder Name und Speicherort der verschlüsselten Kennwortdatei. |
url |
URL der Umgebung, in der Sie das nicht monatliche Update-Intervall festlegen möchten. |
updatemonths |
Eine durch Komma getrennte Liste der Monate, in denen Oracle Enterprise Performance Management Cloud-Updates auf die vom Parameter url angegebene Umgebung angewendet werden sollen. Beispiel: updatemonths=02,05,08,11 .
Monate müssen mit zwei Ziffern angegeben werden: 01 für Januar bis 12 für Dezember. Achten Sie darauf, für die Monate Januar bis September eine Null voranzustellen. Das Skript versucht, den Befehl skipUpdate für die Monate auszuführen, die nicht im Parameterwert |
skip_updates.ps1
, indem Sie das folgende Skript kopieren:
# Skip Update PowerShell script $inputproperties = ConvertFrom-StringData(Get-Content ./input.properties -raw) $username="$($inputproperties.username)" $password="$($inputproperties.password)" $url="$($inputproperties.url)" $updatemonths="$($inputproperties.updatemonths)" $monthsarr = ("01","02","03","04","05","06","07","08","09","10","11","12") $global:monthsarrfromcurrent = @() $global:yearsarrfromcurrent = @() $updatemonthsarr = $updatemonths.Split(",") $currentyear=Get-Date -Format yy $currentmonth=Get-Date -Format MM $nextyear=[int]$currentyear+1 function populateFromCurrentArrays() { $startposition = 0 for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${currentmonth} -eq $monthsarr[$i]) { $startposition=$i break } } for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${i} -ge ${startposition}) { $global:monthsarrfromcurrent += $monthsarr[$i] $global:yearsarrfromcurrent += $currentyear } } for ($i = 0; $i -le ($monthsarr.length - 1); $i++) { if (${i} -lt ${startposition}) { $global:monthsarrfromcurrent += $monthsarr[$i] $global:yearsarrfromcurrent += $nextyear } } } function skipUpdateAdd($yearnumber, $monthnumber) { echo "Running: epmautomate.bat skipUpdate add version=${yearnumber}.${monthnumber} comment=`"adding skipUpdate`"" epmautomate skipUpdate add version=${yearnumber}.${monthnumber} comment="adding skipUpdate" } function processSkipUpdates() { $addcount = 0 echo "Running: epmautomate.bat login ${username} ${password} ${url}" epmautomate login ${username} ${password} ${url} echo "Running: epmautomate.bat skipUpdate remove" epmautomate skipUpdate remove for ($i = 0; $i -le ($global:monthsarrfromcurrent.length - 1); $i++) { $match = 1 if (${addcount} -eq 2) { echo "Two skip update add calls have been made. No more will be attempted." break } for ($j = 0; $j -le ($updatemonthsarr.length - 1); $j++) { if ($global:monthsarrfromcurrent[$i] -eq $updatemonthsarr[$j]) { $match = 0 break } } if (${match} -eq 1) { skipUpdateAdd $global:yearsarrfromcurrent[$i] $global:monthsarrfromcurrent[$i] $addcount += 1 } } echo "Running: epmautomate.bat skipUpdate list" epmautomate skipUpdate list echo "Running: epmautomate.bat logout" epmautomate logout } function compareUpdateMonths($thismonth, $nextmonth) { $nextmonthorig=${nextmonth} if (${nextmonth} -lt ${thismonth}) { $nextmonth+=12 } $monthdiff = $nextmonth - $thismonth if (${monthdiff} -gt 3) { echo "There are more than 2 months skipped from month ${thismonth} to month ${nextmonthorig}. Please correct updatemonths in input.properties so that there are not more than two months skipped between each update month. Exiting." exit 1 } } function validateUpdateMonths() { for ($i = 0; $i -le ($updatemonthsarr.length - 1); $i++) { $nextint = $i + 1 $thisupdatemonth = $updatemonthsarr[$i] $thisupdatemonthint=[int]$thisupdatemonth $nextupdatemonth=$updatemonthsarr[$nextint] $nextupdatemonthint=[int]$nextupdatemonth if (${nextupdatemonth} -eq "") { $nextupdatemonth=$updatemonthsarr[0] $nextupdatemonthint=[int]$nextupdatemonth } compareUpdateMonths $thisupdatemonthint $nextupdatemonthint } } validateUpdateMonths populateFromCurrentArrays processSkipUpdates