2015-05-09 39 views
1

我想簡單地使用PS管理單元中的powershell腳本在IIS(7.5/win 2008 R2)中添加一些.Net授權規則。到目前爲止,我能夠添加一些「允許」規則,但不是任何否認規則。使用PowerShell腳本管理IIS .Net授權規則

每次我嘗試時,它或者什麼也不做,或者創建一個「允許」規則,這看起來很奇怪,就像它默認允許所有的時間一樣。

我嘗試使用add-webconfigurationproperty和add-webconfiguration,但沒有運氣。

也許你們中的一個人有正確的命令行使用?

例如:

Add-WebConfiguration "/system.web/authorization" -value @{ElementTagName="Deny";users="*"} -PSPath "IIS:\Sites\Mysite" 

Add-WebConfigurationProperty "/system.web/authorization" -Name "collection" -value @{ElementTagName='deny';users='test'} -PSPath "IIS:\Sites\Mysite" 

將創建2個 「允許」 規則。

相同的行爲,如果我刪除。太奇怪了。就像拒絕「模式」以某種不同的方式訪問一樣。

例如,如果我去IIS 8並嘗試在添加拒絕規則後生成腳本,則建議的命令行也不起作用。

我該如何解決這個問題?

+0

不完全是您的問題的答案...但爲了實現您的目標,您可以從PowerShell調用'appcmd.exe'。看到這裏的例子[添加拒絕規則](https://technet.microsoft.com/en-us/library/cc772441(v = ws.10).aspx)... –

+0

感謝彼得,的確我已經找到一種用appcmd.exe添加拒絕規則的方法,但我認爲這是一種解決方法。我會很驚訝,這是不可能的與常規PS捕捉。 – Cedricc

回答

0

您應該使用在你的榜樣拒絕規則的命令是:

Add-WebConfigurationProperty "/system.web/authorization" -PSPath "IIS:\Sites\Mysite" -Name "." -value @{users='test'} -Type "deny" 

這困擾我太多&我也有麻煩APPCMD做同樣的事情。我確實得到它的工作到底&發現-Type參數是重要的。這並不是我所知的the documentation,只是說:

要添加的屬性的類型。