2016-04-13 1 views
1

ich versuche, eine IP-Whitelist mit Powershell Whitelist. Ich möchte dies über eine GUI tun. Mein Code für IP-Whitelisting läuft sonst glatt, aber während GUI Ansatz wirft es Below Fehler: enter image description herePowershell zu Whitelist IP in IIS?

Mein Code für das gleiche ist:

import-module WebAdministration 
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 

$Form = New-Object System.Windows.Forms.Form  
$Form.Size = New-Object System.Drawing.Size(600,400) 
$type="Allow" 

function SaveConfig 
{ 
Set-WebConfigurationProperty -Filter /system.webserver/security/ipsecurity -Name allowUnlisted -Value $False -Location "$url.text" 
Add-WebConfiguration /system.webserver/security/ipsecurity -loaction "$url.text" -Value @{ipAddress="$ip.text";allowed="True"} -pspath IIS:\ 
$r1 = "The given range of ip addresses are added into whitelist" 
$outputbox.text = $r1 
} 

$url_label = New-Object System.Windows.Forms.Label 
$url_label.Location = New-Object System.Drawing.Size(40,20) 
$url_label.Size = New-Object System.Drawing.Size(280,20) 
$url_label.Text = "Please enter the URL" 
$Form.Controls.Add($url_label) 

$url = New-Object System.Windows.Forms.TextBox 
$url.Location = New-Object System.Drawing.Size(40,50) 
$url.Size = New-Object System.Drawing.Size(260,60) 
$Form.Controls.Add($url) 

$DropDownBox = New-Object System.Windows.Forms.ComboBox 
$DropDownBox.Location = New-Object System.Drawing.Size(40,80) 
$DropDownBox.Size = New-Object System.Drawing.Size(180,20) 
$DropDownBox.DropDownHeight = 400 
$Form.Controls.Add($DropDownBox) 

[email protected]("Allow","Deny") 

foreach ($wks in $wksList) 
{ 
$DropDownBox.Items.Add($wks) 
} 

$ip_label = New-Object System.Windows.Forms.Label 
$ip_label.Location = New-Object System.Drawing.Size(40,110) 
$ip_label.Size = New-Object System.Drawing.Size(280,20) 
$ip_label.Text = "Please enter the IP address" 
$Form.Controls.Add($ip_label) 

$ip = New-Object System.Windows.Forms.TextBox 
$ip.Location = New-Object System.Drawing.Size(40,140) 
$ip.Size = New-Object System.Drawing.Size(260,60) 
$Form.Controls.Add($ip) 


$mask_label = New-Object System.Windows.Forms.Label 
$mask_label.Location = New-Object System.Drawing.Size(40,170) 
$mask_label.Size = New-Object System.Drawing.Size(280,20) 
$mask_label.Text = "Please enter the Subnet Mask" 
$Form.Controls.Add($mask_label) 

$mask = New-Object System.Windows.Forms.TextBox 
$mask.Location = New-Object System.Drawing.Size(40,200) 
$mask.Size = New-Object System.Drawing.Size(260,60) 
$mask.Text="255.255.255.0" 
$Form.Controls.Add($mask) 


$Button = New-Object System.Windows.Forms.Button 
$Button.Location = New-Object System.Drawing.Size(40,230) 
$Button.Size = New-Object System.Drawing.Size(110,50) 
$Button.Text = "save" 
$Button.Add_Click({SaveConfig}) 
$Form.Controls.Add($Button) 

$outputBox = New-Object System.Windows.Forms.TextBox 
$outputBox.Location = New-Object System.Drawing.Size(350,50) 
$outputBox.Size = New-Object System.Drawing.Size(200,200) 
$outputBox.MultiLine = $True 
$outputBox.ReadOnly= $True 
$Form.Controls.Add($outputBox) 

$Form.Add_Shown({$Form.Activate()}) 
[void] $Form.ShowDialog() 

Antwort

0

Add-WebConfiguration /system.webserver/security/ipsecurity -location "$ url.text" -Value @ {ipAddress = "$ ip.text"; erlaubt = "True"} -pspath IIS: \

gerade Anführungsstriche vom fett gedruckten Code entfernen. :)