156 lines
5.3 KiB
PowerShell
156 lines
5.3 KiB
PowerShell
#---------------------------------------------------------------------------
|
|
$dataSource = "sql.leblogosd.lan"
|
|
$user = "sa"
|
|
$PassSQL = 'Password1'
|
|
$database = "EPM2021"
|
|
#---------------------------------------------------------------------------
|
|
|
|
$connectionString = "Server=$dataSource;uid=$user; pwd=$PassSQL;Database=$database;Integrated Security=False;"
|
|
$connection = New-Object System.Data.SqlClient.SqlConnection
|
|
$connection.ConnectionString = $connectionString
|
|
$connection.Open()
|
|
|
|
$query = "SELECT * FROM [$database].[dbo].[PreferredServer]"
|
|
$command = $connection.CreateCommand()
|
|
$command.CommandText = $query
|
|
$result = $command.ExecuteReader()
|
|
$tablePS2 = new-object System.Data.DataTable
|
|
$tablePS2.Load($result)
|
|
|
|
$query = "SELECT * FROM [$database].[dbo].[PreferredServerIPLimit]"
|
|
$command = $connection.CreateCommand()
|
|
$command.CommandText = $query
|
|
$result = $command.ExecuteReader()
|
|
$tableIP2 = new-object System.Data.DataTable
|
|
$tableIP2.Load($result)
|
|
|
|
|
|
|
|
Function ConvertIP3Digit {
|
|
param(
|
|
[string] $AddIP
|
|
)
|
|
|
|
$Temp = $AddIP.split(".")
|
|
if ($Temp[0].Length -eq 1) { $Temp[0] = "00" + $Temp[0] }
|
|
if ($Temp[0].Length -eq 2) { $Temp[0] = "0" + $Temp[0] }
|
|
if ($Temp[1].Length -eq 1) { $Temp[1] = "00" + $Temp[1] }
|
|
if ($Temp[1].Length -eq 2) { $Temp[1] = "0" + $Temp[1] }
|
|
if ($Temp[2].Length -eq 1) { $Temp[2] = "00" + $Temp[2] }
|
|
if ($Temp[2].Length -eq 2) { $Temp[2] = "0" + $Temp[2] }
|
|
if ($Temp[3].Length -eq 1) { $Temp[3] = "00" + $Temp[3] }
|
|
if ($Temp[3].Length -eq 2) { $Temp[3] = "0" + $Temp[3] }
|
|
$AddIP = $Temp[0]+"."+$Temp[1]+"."+$Temp[2]+"."+$Temp[3]
|
|
|
|
Return $AddIP
|
|
}
|
|
|
|
Function AddIP {
|
|
param(
|
|
[string] $NamePreferedServer,
|
|
[string] $IPadressStart,
|
|
[string] $IPadressEnd
|
|
)
|
|
|
|
$IPadressStart = ConvertIP3Digit -AddIP $IPadressStart
|
|
$IPadressEnd = ConvertIP3Digit -AddIP $IPadressEnd
|
|
|
|
#Write-host "ADD $IPadressStart to $IPadressEnd"
|
|
|
|
foreach ($elementPS2 in $tablePS2) {
|
|
$PreferredServer_Idn_PS2 = $elementPS2.PreferredServer_Idn
|
|
$ServerName2 = $elementPS2.ServerName
|
|
|
|
if($NamePreferedServer -eq $ServerName2) {
|
|
#Write-host $ServerName2
|
|
$dejaexistant = 0
|
|
foreach ($elementIP2 in $tableIP2) {
|
|
$PreferredServer_Idn_IP2 = $elementIP2.PreferredServer_Idn
|
|
$StartingIPAddress2 = $elementIP2.StartingIPAddress
|
|
$EndingIPAddress2 = $elementIP2.EndingIPAddress
|
|
if ($PreferredServer_Idn_IP2 -eq $PreferredServer_Idn_PS2) {
|
|
#Write-host "$StartingIPAddress2 => $EndingIPAddress2"
|
|
if (($IPadressStart -eq $StartingIPAddress2) -and ($IPadressStart -eq $StartingIPAddress2)) { $dejaexistant = 1 }
|
|
}
|
|
}
|
|
if ($dejaexistant -eq 0) {
|
|
$PreferredServer_Idn_PS2 = ''''+$PreferredServer_Idn_PS2+''''
|
|
$IPadressStart = ''''+$IPadressStart+''''
|
|
$IPadressEnd = ''''+$IPadressEnd+''''
|
|
write-host "INSERT INTO dbo.PreferredServerIPLimit (PreferredServer_Idn,StartingIPAddress,EndingIPAddress) VALUES ($PreferredServer_Idn_PS2,$IPadressStart,$IPadressEnd);"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Function RemoveIP {
|
|
param(
|
|
[string] $NamePreferedServer,
|
|
[string] $IPadressStart,
|
|
[string] $IPadressEnd
|
|
)
|
|
|
|
$IPadressStart = ConvertIP3Digit -AddIP $IPadressStart
|
|
$IPadressEnd = ConvertIP3Digit -AddIP $IPadressEnd
|
|
|
|
#Write-host "ADD $IPadressStart to $IPadressEnd"
|
|
|
|
foreach ($elementPS2 in $tablePS2) {
|
|
$PreferredServer_Idn_PS2 = $elementPS2.PreferredServer_Idn
|
|
$ServerName2 = $elementPS2.ServerName
|
|
|
|
if($NamePreferedServer -eq $ServerName2) {
|
|
#Write-host $ServerName2
|
|
$dejaexistant = 0
|
|
foreach ($elementIP2 in $tableIP2) {
|
|
$PreferredServer_Idn_IP2 = $elementIP2.PreferredServer_Idn
|
|
$PreferredServerIPLimit_Idn = $elementIP2.PreferredServerIPLimit_Idn
|
|
$StartingIPAddress2 = $elementIP2.StartingIPAddress
|
|
$EndingIPAddress2 = $elementIP2.EndingIPAddress
|
|
if ($PreferredServer_Idn_IP2 -eq $PreferredServer_Idn_PS2) {
|
|
#Write-host "$StartingIPAddress2 => $EndingIPAddress2"
|
|
if (($IPadressStart -eq $StartingIPAddress2) -and ($IPadressStart -eq $StartingIPAddress2)) {
|
|
write-host "DELETE FROM dbo.PreferredServerIPLimit WHERE PreferredServerIPLimit_Idn = $PreferredServerIPLimit_Idn"
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
Function RemoveAllIP {
|
|
param(
|
|
[string] $NamePreferedServer
|
|
)
|
|
|
|
foreach ($elementPS2 in $tablePS2) {
|
|
$PreferredServer_Idn_PS2 = $elementPS2.PreferredServer_Idn
|
|
$ServerName2 = $elementPS2.ServerName
|
|
|
|
if($NamePreferedServer -eq $ServerName2) {
|
|
#Write-host $ServerName2
|
|
$dejaexistant = 0
|
|
foreach ($elementIP2 in $tableIP2) {
|
|
$PreferredServer_Idn_IP2 = $elementIP2.PreferredServer_Idn
|
|
$PreferredServerIPLimit_Idn = $elementIP2.PreferredServerIPLimit_Idn
|
|
$StartingIPAddress2 = $elementIP2.StartingIPAddress
|
|
$EndingIPAddress2 = $elementIP2.EndingIPAddress
|
|
if ($PreferredServer_Idn_IP2 -eq $PreferredServer_Idn_PS2) {
|
|
#Write-host "$StartingIPAddress2 => $EndingIPAddress2"
|
|
|
|
write-host "DELETE FROM dbo.PreferredServerIPLimit WHERE PreferredServerIPLimit_Idn = $PreferredServerIPLimit_Idn"
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
RemoveAllIP -NamePreferedServer "epm2021.leblogosd.lan"
|
|
AddIP -NamePreferedServer "sss" -IPadressStart "192.168.0.1" -IPadressEnd "192.168.0.254"
|
|
RemoveIP -NamePreferedServer "sss" -IPadressStart "192.168.0.1" -IPadressEnd "192.168.0.254"
|