2016-04-08 53 views
16

我們的大多數Web應用程序都包含一個Deploy.ps1 Powershell腳本。 Octopus Deploy使用它在生產部署期間配置應用程序,但我們也使用它來設置開發人員的本地IIS設置。在Windows 7,Windows 8.1和我們所有的Win2012生產服務器上都可以正常工作。爲什麼Set-ItemProperty對Windows 10下的IIS應用程序沒有影響?

它不適用於Windows 10,這似乎是因爲Set-ItemProperty cmdlet不起作用。沒有錯誤信息或任何東西,它只是沒有做任何事情。

IIS站點api.example.com已經存在,而且我們使用PowerShell來創建/ MyApp的應用程序,然後切換到d應用程序的物理路徑:\工程\演示

PS C:\> IIS: 
PS IIS:\> cd Sites\api.example.com 
PS IIS:\Sites\api.example.com> New-WebApplication myapp -site api.example.com -PhysicalPath C:\inetpub\wwwroot 

Name    Application pool Protocols Physical Path 
----    ---------------- --------- ------------- 
myapp   DefaultAppPool  http   C:\inetpub\wwwroot 

PS IIS:\Sites\api.example.com> set-itemproperty myapp -name PhysicalPath -value D:\Projects\Demo 

PS IIS:\Sites\api.example.com> get-itemproperty myapp 

Name    Application pool Protocols Physical Path 
----    ---------------- --------- ------------- 
demo    DefaultAppPool  http   C:\inetpub\wwwroot 

               ^THIS IS WRONG! 

運行完全相同的一組在Windows 7上的命令,你會得到相同的輸出,但在最後一步的PhysicalPath屬性更改爲預期:

PS IIS:\Sites\api.example.com> get-itemproperty myapp 

Name    Application pool Protocols Physical Path 
----    ---------------- --------- ------------- 
demo    DefaultAppPool  http   D:\Projects\Demo 

任何想法是怎麼回事? IIS10有一些新的管理限制嗎?某種額外的提升的權限,我需要修改現有的Web應用程序的設置或什麼?

UPDATE:它似乎工作正常,如果該項目是一個IIS站點,但如果該項目是一個Web應用程序失敗,這讓我懷疑這可能只是提供程序中的錯誤。有任何想法嗎?

+0

這是一個錯誤,請投票。 https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/15077202-make-propeties-name-case-insensitive-for-creating – zerocool18

回答

15

我不知道爲什麼,但您要設置的屬性的第一個字母必須是小寫字母 e。 G。 physicalPath

這將工作:

set-itemproperty myapp -name physicalPath -value D:\Projects\Demo 

好像給我一個錯誤,但這個符號(首字母小寫),也適用於其他Windows環境因此應是一個有效的解決方法。

-1

這對我的作品(沒有設置地點):

Set-ItemProperty IIS:\sites\$sitename\$appName -Name applicationPool -Value $appPoolName 
3

我能複製你的問題。 Set-ItemProperty爲我工作,如果我在一個網站工作。

這些cmdlet來自Web管理模塊,我已經檢查了完整的文檔。他們似乎只使用相關示例中的網站。你也可以查看相同的,如果你還沒有,在這裏:Web Administration (IIS) Provider for Windows PowerShell

正如你指出的,它可能是一個錯誤。我建議在這裏報告:Microsoft Connect - PowerShell

+0

連接被替換爲https://windowsserver.uservoice.com/forums/ 301869-的PowerShell –

相關問題