La maggior parte delle nostre applicazioni Web include uno script Powershell Deploy.ps1. Octopus Deploy utilizza questo per configurare le app durante le distribuzioni di produzione, ma lo usiamo anche per configurare le impostazioni locali IIS degli sviluppatori. Funziona perfettamente su Windows 7, Windows 8.1 e su tutti i nostri server di produzione Win2012.Perché Set-ItemProperty non ha effetto per le applicazioni IIS in Windows 10?
Non funziona su Windows 10, e questo sembra essere dovuto al fatto che il cmdlet Set-ItemProperty
non ha alcun effetto. Nessun messaggio di errore o altro, semplicemente non fa nulla.
Il sito di IIS api.example.com esiste già, e stiamo usando PowerShell per creare l'applicazione/myapp e quindi modificare il percorso fisico dell'applicazione per D: \ Projects \ Demo
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!
Esecuzione del esattamente lo stesso set di comandi su Windows 7, si ottiene un output identico ma all'ultimo passo della proprietà PhysicalPath è cambiato come previsto:
PS IIS:\Sites\api.example.com> get-itemproperty myapp
Name Application pool Protocols Physical Path
---- ---------------- --------- -------------
demo DefaultAppPool http D:\Projects\Demo
Qualsiasi idea di cosa sta succedendo? C'è qualche nuova limitazione di amministrazione su IIS10? Alcuni tipi di autorizzazioni extra elevate devo modificare le impostazioni su applicazioni Web esistenti o qualcosa del genere?
UPDATE: Sembra funzionare correttamente se l'elemento è un sito IIS, ma non riesce se l'elemento è un'applicazione Web, il che mi chiede se questo potrebbe essere solo un bug nel provider. Qualche idea?
È un bug, per favore vota. https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/15077202-make-propties-name-case-insensitive-for-creating – zerocool18