update
This commit is contained in:
153
Kemp/KEMP2.ps1
Normal file
153
Kemp/KEMP2.ps1
Normal file
@ -0,0 +1,153 @@
|
||||
Function KempAuthenticDuo {
|
||||
|
||||
[CmdletBinding()]
|
||||
PARAM (
|
||||
[Parameter(Mandatory=$true)][String] $CRPCEN,
|
||||
[Parameter(Mandatory=$true)][String] $PortPROXY,
|
||||
[Parameter(Mandatory=$true)][String] $Principal,
|
||||
[Parameter(Mandatory=$true)][String] $Secondaire,
|
||||
[Parameter()][String] $Description = $null
|
||||
)
|
||||
|
||||
#Import-Module Kemp.LoadBalancer.Powershell.psd1 -errorAction SilentlyContinue -Verbose
|
||||
|
||||
$lm49 = ConvertTo-SecureString "F1ch0rg@PM$" -AsPlainText -Force
|
||||
$creds = New-Object System.Management.Automation.PSCredential("bal", $lm49)
|
||||
|
||||
Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential $creds -Verbose
|
||||
|
||||
#Variable
|
||||
$ContentMatchingRuleName = $CRPCEN+"_ui_Authentic"
|
||||
$ContentMatchingRulePattern = "/^\/$CRPCEN-ui-Authentic./"
|
||||
$VirtualServiceName = "10.80.20.2"
|
||||
$VirtualServicePort = 443
|
||||
$CheckedPort = $Port
|
||||
$SubVSName = "$CRPCEN-ui-Authentic"
|
||||
$Url = "/$CRPCEN-ui-Authentic/kemp.jsp"
|
||||
$AllowedVirtualHosts = "www.cloud-fichorga.fr"
|
||||
$AllowedVirtualDirectories = "/$CRPCEN-ui-Authentic*"
|
||||
$SchedulingMethod = "fixed"
|
||||
#$HTTPHeaderModifications = ""
|
||||
|
||||
# Creation Rules & Checking > Content Rules
|
||||
New-AdcContentRule -RuleName $ContentMatchingRuleName -MatchType regex -Pattern $ContentMatchingRulePattern -NoCase 1
|
||||
|
||||
# Create Sub Virtual Service
|
||||
$NASVS = New-AdcSubVirtualService -VirtualService $VirtualServiceName -VSPort $VirtualServicePort -VSProtocol tcp
|
||||
$NASVSIndex = ($NASVS.Data.VS.SubVS[-1]).VSIndex
|
||||
|
||||
Set-AdcSubVirtualService -SubVSIndex $NASVSIndex -CheckPort $PortPROXY -CheckType http -CheckUrl $Url -CheckUse1_1 0 -Nickname $SubVSName -VSType http -Weight 1000 -ESPEnabled $True -AllowedHosts $AllowedVirtualHosts -AllowedDirectories $AllowedVirtualDirectories -Schedule $SchedulingMethod -CheckUseGet 1 -AddVia 2 -StandByAddr 10.101.20.21 -StandByPort 8015
|
||||
|
||||
New-AdcRealServer -RealServer $Principal -RealServerPort $PortPROXY -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 800
|
||||
New-AdcRealServer -RealServer $Secondaire -RealServerPort $PortPROXY -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 700
|
||||
|
||||
}
|
||||
|
||||
Function KempAuthenticQuatro {
|
||||
|
||||
[CmdletBinding()]
|
||||
PARAM (
|
||||
[Parameter(Mandatory=$true)][String] $CRPCEN,
|
||||
[Parameter(Mandatory=$true)][String] $PortPROXY1,
|
||||
[Parameter(Mandatory=$true)][String] $PortPROXY2,
|
||||
[Parameter(Mandatory=$true)][String] $Principal,
|
||||
[Parameter(Mandatory=$true)][String] $Secondaire,
|
||||
[Parameter()][String] $Description = $null
|
||||
)
|
||||
|
||||
#Import-Module Kemp.LoadBalancer.Powershell.psd1 -errorAction SilentlyContinue -Verbose
|
||||
|
||||
$lm49 = ConvertTo-SecureString "F1ch0rg@PM$" -AsPlainText -Force
|
||||
$creds = New-Object System.Management.Automation.PSCredential("bal", $lm49)
|
||||
|
||||
Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential $creds -Verbose
|
||||
|
||||
#Variable
|
||||
$ContentMatchingRuleName = $CRPCEN+"_ui_Authentic"
|
||||
$ContentMatchingRulePattern = "/^\/$CRPCEN-ui-Authentic./"
|
||||
$VirtualServiceName = "10.80.20.2"
|
||||
$VirtualServicePort = 443
|
||||
$CheckedPort = $Port
|
||||
$SubVSName = "$CRPCEN-ui-Authentic"
|
||||
$Url = "/$CRPCEN-ui-Authentic/kemp.jsp"
|
||||
$AllowedVirtualHosts = "www.cloud-fichorga.fr"
|
||||
$AllowedVirtualDirectories = "/$CRPCEN-ui-Authentic*"
|
||||
$SchedulingMethod = "fixed"
|
||||
#$HTTPHeaderModifications = ""
|
||||
|
||||
# Creation Rules & Checking > Content Rules
|
||||
New-AdcContentRule -RuleName $ContentMatchingRuleName -MatchType regex -Pattern $ContentMatchingRulePattern -NoCase 1
|
||||
|
||||
# Create Sub Virtual Service
|
||||
$NASVS = New-AdcSubVirtualService -VirtualService $VirtualServiceName -VSPort $VirtualServicePort -VSProtocol tcp
|
||||
$NASVSIndex = ($NASVS.Data.VS.SubVS[-1]).VSIndex
|
||||
|
||||
Set-AdcSubVirtualService -SubVSIndex $NASVSIndex -CheckPort $PortPROXY1 -CheckType http -CheckUrl $Url -CheckUse1_1 0 -Nickname $SubVSName -VSType http -Weight 1000 -ESPEnabled $True -AllowedHosts $AllowedVirtualHosts -AllowedDirectories $AllowedVirtualDirectories -Schedule $SchedulingMethod -CheckUseGet 1 -AddVia 2 -StandByAddr 10.101.20.21 -StandByPort 8015
|
||||
|
||||
New-AdcRealServer -RealServer $Principal -RealServerPort $PortPROXY1 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 1000
|
||||
New-AdcRealServer -RealServer $Principal -RealServerPort $PortPROXY2 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 800
|
||||
|
||||
Start-Sleep -s 5
|
||||
|
||||
New-AdcRealServer -RealServer $Secondaire -RealServerPort $PortPROXY1 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 900
|
||||
New-AdcRealServer -RealServer $Secondaire -RealServerPort $PortPROXY2 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 700
|
||||
|
||||
}
|
||||
|
||||
Import-Module Kemp.LoadBalancer.Powershell.psd1 -errorAction SilentlyContinue -Verbose
|
||||
|
||||
$lm49 = ConvertTo-SecureString "F1ch0rg@PM$" -AsPlainText -Force
|
||||
$creds = New-Object System.Management.Automation.PSCredential("bal", $lm49)
|
||||
|
||||
Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential $creds -Verbose
|
||||
|
||||
Foreach($Line in Get-Content C:\tmp\CRPCEN.txt) {
|
||||
|
||||
If ($Line -ne $null) {
|
||||
$Line | foreach { $Line = $_ -split ';'
|
||||
$CRPCEN = $Line[0]
|
||||
$Serveur1 = $Line[1]
|
||||
$PortServeur1 = $Line[2]
|
||||
$PoidServeur1 = $Line[3]
|
||||
$Serveur2 = $Line[4]
|
||||
$PortServeur2 = $Line[5]
|
||||
$PoidServeur2 = $Line[6]
|
||||
$Serveur3 = $Line[7]
|
||||
$PortServeur3 = $Line[8]
|
||||
$PoidServeur3 = $Line[9]
|
||||
$Serveur4 = $Line[10]
|
||||
$PortServeur4 = $Line[11]
|
||||
$PoidServeur4 = $Line[12]
|
||||
} }
|
||||
|
||||
write-host "$CRPCEN"
|
||||
|
||||
If ($Serveur3 -ne '') {
|
||||
write-host "ici" $Serveur3
|
||||
|
||||
If ( $PoidServeur1 -lt $PoidServeur2 ) {
|
||||
write-host $CRPCEN $PortServeur1 $PortServeur2 $Serveur3 $Serveur1
|
||||
KempAuthenticQuatro $CRPCEN $PortServeur1 $PortServeur2 $Serveur3 $Serveur1
|
||||
}
|
||||
Else {
|
||||
write-host $CRPCEN $PortServeur1 $PortServeur2 $Serveur1 $Serveur3
|
||||
KempAuthenticQuatro $CRPCEN $PortServeur1 $PortServeur2 $Serveur1 $Serveur3
|
||||
}
|
||||
|
||||
}
|
||||
Else {
|
||||
write-host "la" $Serveur3
|
||||
|
||||
If ( $PoidServeur1 -lt $PoidServeur2 ) {
|
||||
write-host $CRPCEN $PortServeur1 $Serveur2 $Serveur1
|
||||
KempAuthenticDuo $CRPCEN $PortServeur1 $Serveur2 $Serveur1
|
||||
}
|
||||
Else {
|
||||
write-host $CRPCEN $PortServeur1 $Serveur1 $Serveur2
|
||||
KempAuthenticDuo $CRPCEN $PortServeur1 $Serveur1 $Serveur2
|
||||
}
|
||||
}
|
||||
|
||||
Start-Sleep -s 10
|
||||
|
||||
}
|
Reference in New Issue
Block a user