2017-06-09 76 views
0

我試圖使用PowerShell訪問和更改IIS中的網站設置,但我很早就遇到了阻止程序。無法從PowerShell查詢IIS

當我使用下面的命令,它只返回空白性質,提示沒有網站活躍在IIS這臺機器上:

New-Object Microsoft.Web.Administration.ServerManager 

結果看起來是這樣的......

ApplicationDefaults  : 
ApplicationPoolDefaults : 
ApplicationPools   : 
SiteDefaults    : 
Sites     : 
VirtualDirectoryDefaults : 
WorkerProcesses   : 

...並且沒有返回的錯誤,這讓我認爲該命令本身正在工作,但由於某些原因,PowerShell無法「看見」網站。

當我檢入IIS管理器時,我可以看到兩個網站列在「網站」文件夾中。

不知道它是否有所作爲,但我正在使用Windows Server 2008 R2計算機。

+1

您是否嘗試從提升的powershell提示符運行此命令? –

+0

「高架」,如「以管理員身份運行」一樣?是的,我試過了,但同樣的事情發生了。 – spudgun

回答

0

我想我已經解決了這個問題。

奇怪的是,它似乎是由我加載程序集的方式造成的。它似乎沒有正常/所有(即使沒有錯誤,告訴我這一點)加載程序集:

[Void][Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration") 

然而,當我裝裝配下面這個命令後,問題消失:

[System.Reflection.Assembly]::LoadFrom("C:\windows\system32\inetsrv\Microsoft.Web.Administration.dll") | Out-Null 

不幸的是,我仍然是PowerShell的新手,所以我不知道爲什麼這會導致差異。