我有以下配置中的PowerShell/PowerCLI的腳本:如何配置IIS-8和它的應用程序池執行託管Asp.net MVC
的Windows Server 2012 R2。
IIS-8。
在IIS-8下託管的ASP.NET MVC-5 Web應用程序。
現在我的asp.net MVC的Web應用程序具有執行一些PowerShell的& PowerCLI的命令的方法,這裏是腳本的一個樣本:
var shell = PowerShell.Create();
var shell2 = PowerShell.Create();
var shell3 = PowerShell.Create();
string PsCmd = "add-pssnapin VMware.VimAutomation.Core; $vCenterServer = '" + vCenterName +
"';$vCenterAdmin = '" + vCenterUsername + "' ;$vCenterPassword = '" + vCenterPassword +
"';" + System.Environment.NewLine;
PsCmd = PsCmd + "$VIServer = Connect-VIServer -Server $vCenterServer -User $vCenterAdmin `
-Password $vCenterPassword;" + System.Environment.NewLine;
PsCmd = PsCmd + "Get-VMHost " + System.Environment.NewLine;
// PowerCLI script to the the hypervisor network info
string PsCmd2 = "add-pssnapin VMware.VimAutomation.Core; $vCenterServer = '" + vCenterName +
"';$vCenterAdmin = '" + vCenterUsername + "' ;$vCenterPassword = '" + vCenterPassword +
"';" + System.Environment.NewLine;
PsCmd2 = PsCmd2 + "$VIServer = Connect-VIServer -Server $vCenterServer -User $vCenterAdmin `
-Password $vCenterPassword;" + System.Environment.NewLine;
PsCmd2 = PsCmd2 + " Get-VMHost " + vCenterName + "| Get-VMHostNetworkAdapter -VMKernel" +
System.Environment.NewLine;
shell.Commands.AddScript(PsCmd);
shell2.Commands.AddScript(PsCmd2);
dynamic results = shell.Invoke(); // execute the first PowerCLI script
dynamic results2 = shell2.Invoke(); // execute the second PowerCLI script
// the PowerCLI executed successfully
if (results != null && results.Count > 0 && results[0].BaseObject != null)
我面臨的問題如下:
當我部署asp.net MVC編碼它包含了IIS-7 +的Windows Server 2008 R2上面的方法,一切都運轉良好,該腳本返回的結果。
但現在,我們的生產服務器上,我們有IIS-8 + Windows Server 2012中R2,和上述方法不工作時,PowerShell腳本返回null ...
這裏是設置我有IIS-8:
我定義了一個多米提安用戶的默認應用和我加入該域用戶在本地管理員組在主機服務器上。
我還爲Web應用程序啓用匿名身份驗證,並將其定義爲以「應用程序池標識」身份運行。
那麼任何人都可以提出爲什麼IIS-8不允許託管的asp.net web應用程序運行powershell腳本?
是的,我試圖直接在Powercli窗口內運行腳本,他們工作得很好。我使用的是64位版本,我也嘗試將目標鎖定到特定的.exe,如下所示:「Start-Process -FilePath C:\\ Windows \\ System32 \\ WindowsPowerShell \\ v1.0 \\ powershell.exe;」「但也沒有工作..我有一種感覺,這個問題是關於IIS-8與IIS-7的工作方式,因爲在IIS-7上有效,但是在生產上,我們使用IIS-8與Windows Server 2012 R2 ..你可以更多地討論這個問題嗎? –
你有沒有嘗試過把你的ASP MVC項目作爲64位的目標,儘管有任何CPU。 – JPBlanc
你可以在此討論更多嗎?我該怎麼做? –