5

До сих пор я всегда отключал UAC. Теперь я хотел бы поиграть в книгу и оставить ее включенной.

Мой тестовый пример заставляет работать mkdir c:\program files\foo . Когда я запускаю его (мой пользователь является администратором), я получаю Access is denied.

Итак, выполните runas /user:boom\administrator "mkdir c:\program files\foo" , надеясь, что это поможет. Мне предлагается пароль. Я нажимаю ENTER и получаю

RUNAS ERROR: невозможно запустить - mkdir c:\program files\foo 1327: ошибка входа: ограничение учетной записи пользователя. Возможные причины: пустые пароли запрещены, ограничения на время входа в систему или ограничение политики введено в действие.

Хорошо, я пытаюсь установить пароль для администратора. Я смотрю это на вкладке пользователей в диспетчере задач или в учетных записях пользователей -> Управление другой учетной записью, и его там нет.

Как мне поступить? Попытка запустить mkdir под администратором является даже правильным путем? Должен ли я попробовать запустить его под SYSTEM?

Как примечание, я также попытался установить Sudo для Windows, но не смог заставить его работать, и при этом я не мог найти простое учебное пособие "привет мир" для этого (Это - проблема, с которой я столкнулся).

Обновление - ОК, я нашел cmd.exe и щелкнул правой кнопкой мыши "Запуск от имени Администратора", а затем смог сменить пароль, запустив из него привилегированный файл taskmgr. Тем не менее, когда я запускаю runas /user:administrator "mkdir foo" и набираю пароль, я получаю ту же ошибку. Это новый ноутбук, не подключенный к домену, и пароль администратора не пуст.

Обновление 2 - это 64-разрядная версия Win 7 Professional, и я хочу сделать все это из командной строки. Моя цель - создать простой скрипт "sudo.bat".

4 ответа4

4

Если вы вошли в систему под учетной записью "администратор", то вы должны иметь возможность щелкнуть правой кнопкой мыши cmd.exe, "Запустить AS Administrator", нажать "ОК" в UAC, и оттуда mkdir должен работать в Program Files без каких-либо дополнительных запросов. ,

Если вы не являетесь администратором и / или открываете cmd в контексте обычного пользователя (не "как администратор"), вам будет отказано в доступе к программным файлам (как вы обнаружили).

Вы уверены, что ошибка, которую вы получаете (как только вы успешно используете известную учетную запись / пароль администратора) с RunAs, - это ЖЕ ошибка («1327: ошибка входа в систему: ограничение учетной записи пользователя»), а не «2: система не может найти указанный файл. "?

Потому что я получаю ошибку 2, когда пытаюсь запустить MAsDir (как администратор), поскольку Mkdir НЕ является исполняемым файлом (это системная команда), и это все, что запускает RunAs.

Вы можете использовать CMD.EXE в сочетании с RunAs, а затем передать ему команду mkdir. Это сложно из-за вложенных двойных кавычек, но в итоге вы сможете использовать:

runas /user:administrator "cmd /C \"mkdir \"c:\\program files\\foo\"\""

Из любой командной строки (администратора или нет) вытащить то, что вы хотите.

(Дополнительные обратные слэши - это escape-символы)

2

Самый простой способ:

  • откройте меню «Пуск»

  • введите cmd в поиске, затем нажмите Ctrl+Shift+Enter

  • Примите приглашение UAC (это фактически то же самое, что и запуск su)

  • введите mkdir "c:\program files\foo"

1

Попробуйте использовать PsExec от sysinternals. Команда как:

psexec -i -d -s cmd.exe

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

РЕДАКТИРОВАТЬ: Для того, чтобы вышеуказанная команда работала, вам понадобятся права администратора на целевых компьютерах. Подтвердили, что он работает в доменной среде.

Пример: если бы у меня был список имен машин или IP-адресов для машин, которые я хотел создать на диске C:\ с именем "temp1", я бы включил список имен /IP-адресов машин в файл с именем "computers". .текст ". Затем из этого каталога, в котором существует текстовый файл, я выполняю следующее из командной строки.

psexec -i -d -s @computers.txt cmd /c "mkdir c:\temp1"

Это проверит каждый компьютер и затем попытается соединиться с компьютером и затем создать каталог.

0

В моем случае я попробовал это решение и получил ответ. Как упоминалось в ссылке, я получил этот ответ.

скопировать NUL emptyfile.extension

Попробуйте использовать это. Я тоже решил проблему

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .