Ошибка создания SDDL, ошибка: 1332

84

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

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

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

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

Create SDDL failed, Error: 1332

Что творится?

VansFannel
источник
Есть ли способ быть более универсальным, используя вместо этого SID.
TrustyCoder
@VansFannel: попробуйте с опцией sddl: "netsh http add urlacl url = https: // +: 443 / user = every sddl = D: (A ;; GX ;;; IU)"
Антонио

Ответы:

209

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

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

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

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

ОБНОВЛЕНИЕ :

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

VansFannel
источник
15
Благодаря! Это не давало мне покоя. Моя локальная установка находится на шведском языке, поэтому параметр пользователя должен быть: "user = alla".
ндж.
24
А для французских окон пользователи используют это: user = "Tout le monde"
Djoul6
15
На португальском также есть user = todos
Moesio 01
17
на голландском языке это user = iedereen
Джордж
12
на польском: user = Wszyscy
Yorgi
9

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

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

Джош
источник
5

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

Жаннин Ли
источник
2

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

Valon_Inc
источник
0

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

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
Кевин Шерен
источник