Установка UrlSegmentMaxLength из командной строки

Есть ли способ установить значение UrlSegmentMaxLength для Http.sys с помощью appcmd/netsh или любой другой утилиты командной строки?


person Arnab Chakraborty    schedule 04.12.2013    source источник


Ответы (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
comment
Я понял, что перезапускать нужно не W3SVC, а службу HTTP. Вы можете попробовать вызвать net stop http и net start http после изменения регистра, но я считаю, что перезапуск более надежен. blogs.msdn.com/b/amyd/archive/2014/02/06/ - person drumallday; 06.02.2014