Есть ли способ установить значение UrlSegmentMaxLength
для Http.sys
с помощью appcmd/netsh или любой другой утилиты командной строки?
Установка UrlSegmentMaxLength из командной строки
Ответы (2)
Я понимаю, что это старый вопрос, но на случай, если кто-то наткнется на это, вот однострочный PowerShell, который либо создает ключ и устанавливает значение, либо обновляет существующее значение.
if ((Get-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\HTTP\Parameters -Name UrlSegmentMaxLength -ErrorAction SilentlyContinue) -eq $null) { New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\HTTP\Parameters -Name UrlSegmentMaxLength -Value 2048 -PropertyType DWord } else { Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\HTTP\Parameters -Name UrlSegmentMaxLength -Value 2048 }
`
Что касается перезапуска, я обнаружил, что это работает хорошо (нет необходимости перезапускать сервер):
Stop-Service http -Force
Start-Service http
Start-Service IISADMIN
Start-Service W3SVC
person
TD7
schedule
13.12.2018
Я меняю это для своего развертывания в powershell Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\HTTP\Parameters -Name UrlSegmentMaxLength -Value 500 Restart-Service W3SVC -Force
person
drumallday
schedule
31.01.2014
Я понял, что перезапускать нужно не W3SVC, а службу HTTP. Вы можете попробовать вызвать net stop http и net start http после изменения регистра, но я считаю, что перезапуск более надежен. blogs.msdn.com/b/amyd/archive/2014/02/06/
- person drumallday; 06.02.2014