Why does Set-ItemProperty have no effect for IIS applications under Windows 10?
I don't know why but the first letter of the property you want to set must be lowercase e. g. physicalPath
This will work:
set-itemproperty myapp -name physicalPath -value D:\Projects\Demo
Seems like a bug to me but this notation (first letter lowercase) also works for your other Windows environments thus should be a valid workaround.
I was able to replicate your problem. Set-ItemProperty
worked for me if I was working on a site.
These cmdlets are from the WebAdministration module and I have checked the complete documentation. They seems to be using only websites in the relevant examples. You can also check the same, if you haven't already, here: Web Administration (IIS) Provider for Windows PowerShell
As you pointed, it maybe a bug. I would recommend to report this here: Microsoft Connect - PowerShell
This works for me (without Set-Location):
Set-ItemProperty IIS:\sites\$sitename\$appName -Name applicationPool -Value $appPoolName