Сбой создания sddl ошибка 1332 параметр задан неверно

I know this question was asked a long time ago, but as there is no general answer yet, so i thought i’ll share my approach. There’s an easy way to filter for this with a few batch commands.

for /f "skip=1delims=" %%a in (
   'wmic sysaccount where "SID='S-1-1-0'" get name'
) do set "sid=%%a"&goto next
:next

The loop is necessary because the «get name» part gives the whole table with the heading so we filter for the second line. This code then stores the value of the SID according to your locale in the «sid» variable, so you only have to refer to this when you want to use it.

In this case the whole code would look like this:

for /f "skip=1delims=" %%a in (
   'wmic sysaccount where "SID='S-1-1-0'" get name'
) do set "sid=%%a"&goto next
:next
netsh http add urlacl url=https://Melnibone:443/ user=%sid%

NOTE: How you filter for the second line is up to you, the real «magic» happens in this line:

wmic sysaccount where "SID='S-1-1-0'" get name

  • Remove From My Forums

 locked

Как настроить сайт для локальной сети?

  • Вопрос

  • Допустим, у меня на компьютере студия работает вместе с IIS, я там запускаю проект по F5, соответственно могу видеть его у себя через localhost. А какой адрес у этого сайта будет по локальной сети?

Ответы

  • Значит что-то не так делаете. Чтобы IIS начал слушать определённые адреса и порты их надо сначала зарегистрировать коммандой netsh.

    «IIS Express кстати подойдет?» — подойдёт, только возни много, он для этого не предназначен.
    Вот справочка по этой теме.

    • Изменено

      19 июня 2012 г. 16:49

    • Предложено в качестве ответа
      Abolmasov DmitryModerator
      20 июня 2012 г. 6:50
    • Помечено в качестве ответа
      Артур Терегулов
      26 июня 2012 г. 13:08



Я пытаюсь использовать IIS Express с Visual Studio 2010 SP1.

Я следую за этим учебник. Когда я запускаю эту команду.

netsh http add urlacl url=https://Melnibone:443/ user=everyone

Я получаю это сообщение:

Create SDDL failed, Error: 1332

что происходит?


767  


4  

4 ответов:

Ну, я нашел проблему.

Я запускаю Windows 7 на испанском языке, поэтому правильная команда:

netsh http add urlacl url=https://Melnibone:443/ user=todos

смешно, не правда ли?

обновление:

Если вы хотите, вы можете добавить комментарий к этому вопросу, говоря нам, как это на вашем языке.

Не могу комментировать, поэтому я должен anser здесь:

на немецком языке пользователь=jeder

для меня эта проблема была вызвана тем, что уже было резервирование HTTP для адреса и порта, который я использовал при попытке добавить резервирование HTTPS.

я узнал, что происходит, когда я побежал NETSH HTTP SHOW URLACL и увидел, что адрес уже зарезервирован с другим протоколом.

недавно я столкнулся с этой проблемой. Решение для меня было запустить командную строку от имени администратора.

Перейти к контенту

  • Remove From My Forums

none

Как настроить сайт для локальной сети?

  • Вопрос

  • Допустим, у меня на компьютере студия работает вместе с IIS, я там запускаю проект по F5, соответственно могу видеть его у себя через localhost. А какой адрес у этого сайта будет по локальной сети?

Ответы

  • Значит что-то не так делаете. Чтобы IIS начал слушать определённые адреса и порты их надо сначала зарегистрировать коммандой netsh.

    «IIS Express кстати подойдет?» — подойдёт, только возни много, он для этого не предназначен.
    Вот справочка по этой теме.

    • Изменено

      19 июня 2012 г. 16:49

    • Предложено в качестве ответа
      Abolmasov DmitryModerator
      20 июня 2012 г. 6:50
    • Помечено в качестве ответа
      Артур Терегулов
      26 июня 2012 г. 13:08


Я пытаюсь использовать IIS Express с Visual Studio 2010 SP1.

Я следую за этим учебник. Когда я запускаю эту команду.

netsh http add urlacl url=https://Melnibone:443/ user=everyone

Я получаю это сообщение:

Create SDDL failed, Error: 1332

что происходит?


625  


4  

4 ответов:

Ну, я нашел проблему.

Я запускаю Windows 7 на испанском языке, поэтому правильная команда:

netsh http add urlacl url=https://Melnibone:443/ user=todos

смешно, не правда ли?

обновление:

Если вы хотите, вы можете добавить комментарий к этому вопросу, говоря нам, как это на вашем языке.

Не могу комментировать, поэтому я должен anser здесь:

на немецком языке пользователь=jeder

для меня эта проблема была вызвана тем, что уже было резервирование HTTP для адреса и порта, который я использовал при попытке добавить резервирование HTTPS.

я узнал, что происходит, когда я побежал NETSH HTTP SHOW URLACL и увидел, что адрес уже зарезервирован с другим протоколом.

недавно я столкнулся с этой проблемой. Решение для меня было запустить командную строку от имени администратора.

  • Remove From My Forums
  • Question

  • User-1410228926 posted

    I’m trying to configure IIS Express to use with Visual Studio 2010 SP1. I have a Windows 7 Ultimate 64bits.

    I’m following this
    tutorial.

    When I run this command:

    netsh http add urlacl url=https://Melnibone:443/ user=everyone

    I get this error:

    Create SDDL failed, Error: 1332. The parameter is incorrect.

    I’ve been testing wiht a domain user and it works:

    netsh http add urlacl url=https://Melnibone:443/ user=MelniboneElric

    Any advice?

Answers

  • User-1410228926 posted

    Well, I have found the problem.

    I’m running Windows 7 in Spanish, so the right command is:

    netsh http add urlacl url=https://Melnibone:443/ user=todos
    • Marked as answer by

      Tuesday, September 28, 2021 12:00 AM

  • Remove From My Forums
  • Question

  • User-1410228926 posted

    I’m trying to configure IIS Express to use with Visual Studio 2010 SP1. I have a Windows 7 Ultimate 64bits.

    I’m following this
    tutorial.

    When I run this command:

    netsh http add urlacl url=https://Melnibone:443/ user=everyone

    I get this error:

    Create SDDL failed, Error: 1332. The parameter is incorrect.

    I’ve been testing wiht a domain user and it works:

    netsh http add urlacl url=https://Melnibone:443/ user=MelniboneElric

    Any advice?

Answers

  • User-1410228926 posted

    Well, I have found the problem.

    I’m running Windows 7 in Spanish, so the right command is:

    netsh http add urlacl url=https://Melnibone:443/ user=todos
    • Marked as answer by

      Tuesday, September 28, 2021 12:00 AM

Я пытаюсь использовать IIS Express с Visual Studio 2010 SP1.

Я следую этому руководству. Когда я запускаю эту команду.

netsh http add urlacl url=https://Melnibone:443/ user=everyone

Я получаю это сообщение:

Create SDDL failed, Error: 1332

Что происходит?

5 ответов

Лучший ответ

Что ж, я нашел проблему.

Я запускаю Windows 7 на испанском языке, поэтому правильная команда:

netsh http add urlacl url=https://Melnibone:443/ user=todos

Забавно, правда?

ОБНОВЛЕНИЕ :

Если вы хотите, вы можете добавить комментарий к этому вопросу, рассказав нам, как он на вашем языке.


216

VansFannel
27 Окт 2014 в 20:50

Для меня эта проблема была вызвана тем, что уже было резервирование HTTP для адреса и порта, которые я использовал, когда пытался добавить резервирование HTTPS.

Я узнал, что происходит, когда я запустил NETSH HTTP SHOW URLACL и увидел, что адрес уже зарезервирован с другим протоколом.


9

Josh
14 Янв 2015 в 21:44

Я недавно столкнулся с этой проблемой. Решением для меня было запустить командную строку от имени администратора.


5

Jeannine Lee
8 Июн 2017 в 01:16

Хочу добавить, что это может быть язык установки. Мне пришлось использовать немецкое слово «jeder», хотя мой системный язык был английским.


2

Valon_Inc
18 Июл 2020 в 17:10

Я знаю, что этот вопрос задавался давно, но поскольку общего ответа пока нет, я подумал, что поделюсь своим подходом. Есть простой способ отфильтровать это с помощью нескольких пакетных команд.

for /f "skip=1delims=" %%a in (
   'wmic sysaccount where "SID='S-1-1-0'" get name'
) do set "sid=%%a"&goto next
:next

Цикл необходим, потому что часть «получить имя» дает всю таблицу с заголовком, поэтому мы фильтруем вторую строку. Затем этот код сохраняет значение SID в соответствии с вашей локалью в переменной «sid», поэтому вам нужно обращаться к нему только тогда, когда вы хотите его использовать.

В этом случае весь код будет выглядеть так:

for /f "skip=1delims=" %%a in (
   'wmic sysaccount where "SID='S-1-1-0'" get name'
) do set "sid=%%a"&goto next
:next
netsh http add urlacl url=https://Melnibone:443/ user=%sid%

ПРИМЕЧАНИЕ. Как фильтровать вторую строку — решать вам, настоящая «магия» происходит в этой строке:

wmic sysaccount where "SID='S-1-1-0'" get name


0

Kevin Scheeren
6 Авг 2020 в 20:48

Я пытаюсь использовать IIS Express с Visual Studio 2010 SP1.

Я после этого учебник. Когда я запускаю эту команду.

netsh http add urlacl url=https://Melnibone:443/ user=everyone

Я получаю это сообщение:

Create SDDL failed, Error: 1332

что происходит?

4 ответов


Ну, я нашел проблему.

Я запускаю Windows 7 на испанском языке, поэтому правильная команда:

netsh http add urlacl url=https://Melnibone:443/ user=todos

забавно, не так ли?

обновление:

Если вы хотите, вы можете добавить комментарий к этому вопросу, говоря нам, как это на вашем языке.


Не могу комментировать, поэтому я должен anser здесь:

на немецком языке пользователь=jeder


для меня эта проблема была вызвана тем, что уже было резервирование HTTP для адреса и порта, который я использовал при попытке добавить резервирование HTTPS.

я узнал, что происходит, когда я побежал NETSH HTTP SHOW URLACL и увидел, что адрес уже зарезервирован с другим протоколом.


недавно я столкнулся с этой проблемой. Решением для меня было запустить командную строку в качестве администратора.


01

Речь в статье пойдет о поддоменах в ASP.NET MVC5, о том какие цели может преследовать использование данного приема и какие варианты реализации маршрутизации (роутинга) поддоменов существуют. Также будут указаны особенности использования каждого из методов.

02

В каждом из предложенных способов будет использоваться объект HttpContextBase, который содержит входную строку URL, и который будет использоваться для получения имени поддомена. Для получения поддомена будем использовать общую для всех методов функцию:

03 VB.NET

1

2
3
4
5
6
7
8

Public Function ПолучитьПоддомен(httpContext As HttpContextBase) As String
Dim subdomain As String = httpContext.Request.Url.Host.Split(«.»c).First()
Dim blacklist As String() = {«wwww», «codius», «localhost»}
If Not String.IsNullOrEmpty(subdomain) AndAlso Not blacklist.Contains(subdomain) Then
Return subdomain
End If
Return «»
End Function

Public Function ПолучитьПоддомен(httpContext As HttpContextBase) As String …

04

Вариант 1. В лоб.

Вариант, имеющий мало общего с темой статьи — это скорее костыль, при помощи которого можно организовать схожую функциональность. Он подразумевает получение и обработку поддомена в каждом методе (там где это нужно) при помощи функции ПолучитьПоддомен(HttpContextBase) и использование его для выполнения каких-либо действий:

05 VB.NET

1
2

3
4
5

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

22
23

24
25

26

<RequireHttps>

Public Class HomeController
Inherits System.Web.Mvc.Controller

Function Index() As ActionResult
Dim subdomain As String = ПолучитьПоддомен(HttpContext)

If Not String.IsNullOrEmpty(subdomain) Then
Select Case subdomain.ToLower
Case «shop»

Case «admin»

Case «user»

Case Else

End Select
End If
Return View()
End Function

Function Index() As ActionResult …

Function About() As ActionResult

End Function

Function About() As ActionResult …

End Class

Public Class HomeController …

06

Этот метод подойдет для тех случаев, в которых необходимо реализовать простую логику, принципиально не влияющую на работу приложения. Плюс этого метода также заключается в том, что вне зависимости от поддомена, статус авторизации сохраняется для всех поддоменов — это означает, что авторизовавшись один раз, вам не нужно будет авторизовываться снова в зоне действия другого поддомена.

07 На заметку:

Предложенные далее в статье подходы имеют особенность — применяемая в проекте система аутентификации будет воспринимать поддомены как разные сайты, вынуждая отдельно авторизовываться в каждом поддомене. Это может быть удобно в случаях использования имени пользователя в качестве поддомена, но крайне неприятно, если единый проект делится поддоменами на обособленные группы.

08

Вариант 2. Роутинг на основе валидности значений URL.

Здесь воспользуемся методом MapRoute, а именно его перегруженной версией — RouteCollectionExtensions.MapRoute (RouteCollection, String, String, Object, Object). Теперь вместо стандартного правила:

09 VB.NET

1
2
3
4
5

routes.MapRoute( _
name:=«ArticlesList», _
url:=«articles», _
defaults:=New With {.controller = «Articles», .action = «Index»} _
)

10

Мы будем использовать правило с проверкой названия контроллера, в которой будем определять поддомен, и в случае наличия такового — передавать его имя в качестве параметра в метод заданного контроллера:

11 VB.NET

1

2
3

4
5
6
7
8
9

10

Public Class SubdomainRouteConstraint
Implements IRouteConstraint

Public Function Match(httpContext As HttpContextBase, route As Route, parameterName As String, values As RouteValueDictionary, routeDirection As RouteDirection) As Boolean Implements IRouteConstraint.Match
Dim subdomain As String = ПолучитьПоддомен(httpContext)
If String.IsNullOrEmpty(subdomain) Then Return False

values.Add(«subdomain», subdomain)
Return True
End Function

Public Function Match(httpContext As HttpContextBase, route As Route, parameterName As String, values As RouteValueDictionary, routeDirection As RouteDirection) As Boolean Implements IRouteConstraint.Match …

End Class

Public Class SubdomainRouteConstraint …

SubdomainRouteConstraint.vb

12

Измененное правило роутинга:

13 VB.NET

1

2
3
4
5
6
7
8
9
10
11

Public Sub RegisterRoutes(ByVal routes As RouteCollection)
routes.IgnoreRoute(«{resource}.axd/{*pathInfo}»)

routes.MapRoute( _
name:=«ArticlesList», _
url:=«articles», _
defaults:=New With {.controller = «Articles», .action = «Index»}, _

constraints:=New With {.controller = New SubdomainRouteConstraint()}

)

End Sub

Public Sub RegisterRoutes(ByVal routes As RouteCollection) …

14

Значение полученного поддомена передается в метод контроллера:

15 VB.NET

1

2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
17

18

Public Class ArticlesController
Inherits System.Web.Mvc.Controller

Function Index(subdomain As String) As ActionResult

Dim subdomain As String = RouteData.Values(«subdomain»).ToString
If Not String.IsNullOrEmpty(subdomain) Then
Select Case subdomain.ToLower
Case «shop»

Case Else

End Select
End If

Return View()
End Function

Function Index(subdomain As String) As ActionResult ‘ Данные об имени поддомена в переменной subdomain …

End Class

Public Class ArticlesController …

16

Вариант 3. Кастомный маршрутизатор.

Этот способ может пригодиться, когда требуется реализовать более глобальную логику, включая функционал по генерации URL-адресов, либо когда в проекте предусмотрена глубокая иерархия поддоменов.

17

Для этого мы создадим свой обработчик маршрутов SubdomainRoute:

18 VB.NET

1

2
3
4
5
6
7

8

9
10

11

12
13

14

15
16
17

18

19
20

21

22
23

24

25
26
27

28

Public Class SubomainRoute
Inherits Route
Public Property Domain As String

Public Sub New(domain As String, url As String, defaults As RouteValueDictionary)
Me.New(domain, url, defaults, New MvcRouteHandler())
End Sub

Public Class SubomainRoute …

Public Sub New(domain As String, url As String, defaults As Object)
Me.New(domain, url, New RouteValueDictionary(defaults), New MvcRouteHandler())
End Sub

Public Sub New(domain As String, url As String, defaults As Object) …

Public Sub New(domain As String, url As String, defaults As Object, routeHandler As IRouteHandler)
Me.New(domain, url, New RouteValueDictionary(defaults), routeHandler)
End Sub

Public Sub New(domain As String, url As String, defaults As Object, routeHandler As IRouteHandler) …

Public Sub New(domain As String, url As String, defaults As RouteValueDictionary, routeHandler As IRouteHandler)
MyBase.New(url, defaults, routeHandler)
Me.Domain = domain
End Sub

Public Sub New(domain As String, url As String, defaults As RouteValueDictionary, routeHandler As IRouteHandler) …

Public Overrides Function GetRouteData(httpContext As HttpContextBase) As RouteData
Dim routeData As RouteData = Nothing

‘ Исходя из логики приложения формируем коллекцию параметров routeData …

Return routeData
End Function

Public Overrides Function GetRouteData(httpContext As HttpContextBase) As RouteData …

Public Overrides Function GetVirtualPath(requestContext As RequestContext, values As RouteValueDictionary) As VirtualPathData

Return MyBase.GetVirtualPath(requestContext, values)
End Function

Public Overrides Function GetVirtualPath(requestContext As RequestContext, values As RouteValueDictionary) As VirtualPathData …

End Class

19

Регистрируем правило в RouteConfig.vb:

20 VB.NET

1
2

routes.Add(New SubdomainRoute(«{subdomain}.localhost», «articles»,
New With {.controller = «Articles», .action = «Index»}))

21

Запуск и тестирование на локальном компьютере — localhost.

При попытке запустить и протестировать проект на локальном компьютере, вас ждет разочарование в виде ошибки:

22

Bad Request — Invalid Hostname
HTTP Error 400. The request hostname is invalid.

23 На заметку:

Важно! Большинство описанных далее манипуляций потребуют прав администратора!

24

Во-первых, необходимо добавить указатели на поддомены в файле hosts (в Windows 7 — C:WindowsSystem32driversetc):

25 На заметку:

На компьютерах с установленным антивирусом, возможно стоит защита на изменение этого файла. Например, для Dr.Web Security Space 11.0, необходимо настроить реакцию на изменения в разделе Превентивная защита (Настройки → Компоненты защиты → Превентивная защита → Изменить параметры блокировки подозрительных действий → Файл HOSTS → Спрашивать/Разрешать), а также добавить файл HOSTS в Исключения ([i]Настройки → Исключения → Файлы и папки) для SpIDer Guard и Сканера.

26

1
2
3
4

127.0.0.1 localhost

127.0.0.1 user1.localhost

127.0.0.1 user2.localhost

# 127.0.0.1 …

27

Во-вторых, нужно найти в файле applicationhost.config (%USERPROFILE%My DocumentsIISExpressconfig) фрагмент, отвечающий за ваш проект, и добавить необходимые строки:

28 На заметку:

В случае, если проект новый, необходимо создать запись в файле applicationhost.config — для этого необходимо создать виртуальную папку проекта — нажать кнопку Create Virtual Directory (Project → Properties → Web)

29 XML

1
2
3
4
5
6
7
8
9
10

<site name=«MyProject_v1.0» id=«7»>
<application path=«/» applicationPool=«Clr4IntegratedAppPool»>
<virtualDirectory path=«/» physicalPath=«D:Visual Studio 2013ProjectsMyProject_v1.0MyProject_v1.0» />
</application>
<bindings>
<binding protocol=«http» bindingInformation=«*:33683:localhost» />

<binding protocol=«http» bindingInformation=«*:33683:user1.localhost» />

<binding protocol=«http» bindingInformation=«*:33683:user2.localhost» />

</bindings>
</site>

30

Чтобы не перечислять все варианты (user1, user2, …) можно обойтись одной универсальной строкой:

31 XML

1
2
3
4
5
6
7
8
9

<site name=«MyProject_v1.0» id=«7»>
<application path=«/» applicationPool=«Clr4IntegratedAppPool»>
<virtualDirectory path=«/» physicalPath=«D:Visual Studio 2013ProjectsMyProject_v1.0MyProject_v1.0» />
</application>
<bindings>
<binding protocol=«http» bindingInformation=«*:33683:localhost» />

<binding protocol=«http» bindingInformation=«*:33683:*» />

</bindings>
</site>

32

Теперь, если запустить студию с правами администратора, то все будет работать.

33

Для того, чтобы все работало из студии, запущенной без прав администратора, нужно в командной строке зарезервировать для простых пользователей (non-administrator users and accounts) необходимые URL-адреса следующей командой:

34

netsh http add urlacl url=»http://user1.localhost:33683/» user=everyone

Кавычки в URL можно опустить.

35

Здесь также можно зарегистрировать паттерн вместо конкретного адреса:

36

netsh http add urlacl url=http://*:33683/ user=everyone

37 На заметку:

В случае возникновения ошибки:
Сбой создания SDDL. Ошибка: 1332
Параметр задан неверно.
нужно просто заменить параметр user=everyone на русскоязычную версию user=Все:
netsh http add urlacl url=»http://user1.localhost:33683/» user=Все

38

Результат: Резервирование URL-адрес добавлено успешно.

40

Похожие запросы:

  • Creating a subdomain
  • Simple multitenancy with ASP.NET MVC
  • Subdomains for a single application with ASP.NET MVC
  • ASP.NET MVC 5 routing with subdomain

Я пытаюсь использовать IIS Express с Visual Studio 2010 SP1.

Я следую этому руководству. Когда я запускаю эту команду.

netsh http add urlacl url=https://Melnibone:443/ user=everyone

Я получаю это сообщение:

Create SDDL failed, Error: 1332

Что происходит?

5 ответов

Лучший ответ

Что ж, я нашел проблему.

Я запускаю Windows 7 на испанском языке, поэтому правильная команда:

netsh http add urlacl url=https://Melnibone:443/ user=todos

Забавно, правда?

ОБНОВЛЕНИЕ :

Если вы хотите, вы можете добавить комментарий к этому вопросу, рассказав нам, как он на вашем языке.


216

VansFannel
27 Окт 2014 в 20:50

Для меня эта проблема была вызвана тем, что уже было резервирование HTTP для адреса и порта, которые я использовал, когда пытался добавить резервирование HTTPS.

Я узнал, что происходит, когда я запустил NETSH HTTP SHOW URLACL и увидел, что адрес уже зарезервирован с другим протоколом.


9

Josh
14 Янв 2015 в 21:44

Я недавно столкнулся с этой проблемой. Решением для меня было запустить командную строку от имени администратора.


5

Jeannine Lee
8 Июн 2017 в 01:16

Хочу добавить, что это может быть язык установки. Мне пришлось использовать немецкое слово «jeder», хотя мой системный язык был английским.


2

Valon_Inc
18 Июл 2020 в 17:10

Я знаю, что этот вопрос задавался давно, но поскольку общего ответа пока нет, я подумал, что поделюсь своим подходом. Есть простой способ отфильтровать это с помощью нескольких пакетных команд.

for /f "skip=1delims=" %%a in (
   'wmic sysaccount where "SID='S-1-1-0'" get name'
) do set "sid=%%a"&goto next
:next

Цикл необходим, потому что часть «получить имя» дает всю таблицу с заголовком, поэтому мы фильтруем вторую строку. Затем этот код сохраняет значение SID в соответствии с вашей локалью в переменной «sid», поэтому вам нужно обращаться к нему только тогда, когда вы хотите его использовать.

В этом случае весь код будет выглядеть так:

for /f "skip=1delims=" %%a in (
   'wmic sysaccount where "SID='S-1-1-0'" get name'
) do set "sid=%%a"&goto next
:next
netsh http add urlacl url=https://Melnibone:443/ user=%sid%

ПРИМЕЧАНИЕ. Как фильтровать вторую строку — решать вам, настоящая «магия» происходит в этой строке:

wmic sysaccount where "SID='S-1-1-0'" get name


0

Kevin Scheeren
6 Авг 2020 в 20:48

Понравилась статья? Поделить с друзьями:
  • Сбой соединения ошибка 720
  • Сбой скзи ошибка номер 7
  • Сбой связи ошибка 651
  • Сбой проверки произошла ошибка подключения к серверу apple
  • Сбой сброса порта ошибка 43