Как создать ссылку в Windows 7 home premium для обычного пользователя? [Дубликат]

69

На этот вопрос уже есть ответ здесь:

Я парень из Linux, и поэтому я очень растерялся, когда пытаюсь что-то сделать, это Windows. Я пытаюсь создать следующую ссылку:

mklink /d C:\backup\data \\myth\backup\data

Но у меня нет достаточных привилегий, чтобы выполнить эту операцию. Как получить достаточные привилегии в Windows 7?

ОБНОВИТЬ:

Щелкните правой кнопкой мыши C: \ backup \ data и изменили разрешения на полный доступ для аутентифицированного пользователя, перезапустили компьютер и снова попытались выполнить команду, но безуспешно. У кого-нибудь есть еще предложения?

stephenmm
источник
Убедитесь, что c: \ backup \ data еще не существует, когда вы пытаетесь создать ссылку как администратор.
Дэвид д'Э Фрейтас

Ответы:

112

Как указано здесь ,

Для создания символьных ссылок требуется SeCreateSymbolicLinkPrivilege («Создание символических ссылок»), который по умолчанию предоставляется только администраторам (но вы можете изменить это с помощью политики безопасности).

Чтобы изменить политику:

  1. Щелкните правой кнопкой мыши StartRunи запустите secpol.msc.

  2. Откройте Security Settings → Local Policies → User Rights Assignmentи выберите Create symbolic links(что представляет SeCreateSymbolicLinkPrivilege).

введите описание изображения здесь

  1. Дважды щелкните элемент и добавьте себя (или всю Usersгруппу) в список.

Изменения вступят в силу после выхода и повторного входа.

Хью Аллен
источник
2
Обратите внимание, что в Win7 группа «Пользователи» не была видна мне до тех пор, пока в диалоговом окне «Выбор пользователей или групп» я не нажал кнопку «Типы объектов» и не добавил «группы».
Джонатан Хартли
7
Это не работает для меня, независимо от того, добавляю ли я своего пользователя, «Пользователи» или «Все». Я вышел из системы и перезагрузил компьютер, но в моем домашнем каталоге команда «mklink / D docs Dropbox» по-прежнему дает мне «У вас недостаточно прав для выполнения этой операции». Тот же результат, если я попробую файлы вместо каталогов.
Джонатан Хартли
3
Моя проблема решена ответом Брэндона Доннельсона: В дополнение к вышесказанному, пользователь, запускающий «mklink», не может быть администратором.
Джонатан Хартли
@Джонатан. не работает для меня И это кажется глупым или, может быть, я неправильно понимаю. Windows 7 не позволяет администратору создавать символические ссылки, но только не администраторы после того, как администратор дает им привилегии ???
Бен
4
@ Бен, я согласен, это кажется сумасшедшим. Хотя, подумав, я решил свою проблему, запустив окно «cmd», щелкнув правой кнопкой мыши и выбрав «Запуск от имени администратора». Кто-то объяснил мне, что при запуске процесса Windows удаляет из него права администратора, если вы не выберете «запускать от имени администратора». На этом этапе, если вы не являетесь администратором, вы должны ввести пароль администратора. Если вы уже являетесь администратором, вам не нужно ничего вводить. Возможно, это позволило мне запустить mklink из окна cmd.
Джонатан Хартли
19

Я только что обнаружил, что могу создать 'Junction', даже когда не могу создать символическую ссылку:

mklink [/D] /J junctionname filename

где / J указывает «создать соединение», а / D, я полагаю, для, если названный файл является каталогом. (мой пользователь в настоящее время является администратором)

Тем не менее, переход к файлу 'bat' не выглядит исполняемым, так что на самом деле он бесполезен.

Кто-нибудь понимает, почему это так, или как это можно исправить, чтобы обеспечить альтернативный подход к проблеме ОП?

Джонатан Хартли
источник
11
Вы можете создать hardlink ( mklink /H) без прав администратора, и это будет исполняемый файл. Жесткие ссылки предназначены для файлов, соединения - для каталогов, символические /Dссылки - для обоих (и используются для указания того, что символическая ссылка предназначена для каталога).
Brilliand
3
Соединения и жесткие ссылки бесполезны для примера в OP, так как ни один из них не может указывать на сетевой диск (жесткие ссылки ограничены одним разделом, соединения ограничены локальными дисками); это может сделать только символическая ссылка или ярлык Windows.
Brilliand
12

Я обнаружил, что только не администратор может это сделать. Добавить не администратор для создания символических ссылок и Runas не администратор Вам придется добавить человека с правами администратора. Затем вы даете разрешение цели не администратору, чтобы он мог выполнить runas mklink.

Брэндон Доннельсон
источник
1
Это полностью решило мою проблему: мой пользователь является администратором, но «mklink» не будет работать, пока я не включу учетную запись «guest», не вызову «runas / user: guest cmd», а затем не запускаю mklink из этого нового сеанса cmd. Это также требовало временного предоставления разрешений, чтобы гостевая учетная запись могла перейти в мой домашний каталог и изменить его, где я хотел использовать символическую ссылку, которая вызывает множество диалогов об ошибках, но они кажутся вредными.
Джонатан Хартли
Напомним, что «mklink» не работает для моего обычного пользователя, который является администратором, но работает и при запуске из cmd, который был «runas / user: guest cmd» (я не мог понять, какое цитирование требуется непосредственно выполнить команду mklink в качестве гостя пользователя) или когда я удаляю свою учетную запись из группы «администраторы».
Джонатан Хартли
3
Также стоит отметить , что это возможно запустить mklink успешно с учетной записью, обладающей правами администратора. Но для этого необходимо отключить UAC.
Владимир Сизиков
2

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

Мое решение - использовать: elevate.cmd и elevate.vbs

  1. Скачать с: http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx
  2. Поместите эти два файла в системный путь (или в другое удобное место в сети)
  3. elevate.cmd cmd /c "cd /d LINK_DIR && mklink /D LINK_NAME LINK_TARGET_PATH"

Минусы: elevate.cmd возвращается немедленно, но для ответа на диалог UAC требуется время. Это вынудило меня добавить "ты уже согласился на диалог UAC?" вопрос к моему сценарию. Можно пропустить «elevate.cmd», проверив код выхода для следующей команды: whoami /groups | find "S-1-16-12288"(код выхода 0 означает, что у вас есть консоль администратора).

Denkkar
источник
2

С этой проблемой сталкивался и сегодня. У меня была задача сборки NAnt, пытающаяся создать символические ссылки на компьютере. Был отклонен из-за отсутствия привилегий. Я нашел этот пост, который помог решить мою проблему: http://josh.mainelan.net/tag/mklink/ .

Соответствующий раздел:

  1. Откройте окно запуска, введите «secpol.msc» и нажмите «ОК».
  2. Перейдите в папку «Параметры безопасности» \ «Локальные политики» \ «Назначение прав пользователя».
  3. Найдите «Создать символические ссылки» и добавьте группу «Пользователи».

Я думаю, что вам нужно перезагрузить компьютер или что-то после этого.

Matt
источник
1

Запустите командную строку от имени администратора, чтобы выполнить эту команду.

Введите cmd (или команду) в меню «Пуск», щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».

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

teknikqa
источник
Как уже упоминалось, SeCreateSymbolicLinkPrivilege - это то, что требуется. Однако даже если вы являетесь администратором в Windows 7, большинство программ не запускаются с правами администратора. Чтобы получить административные привилегии для программы, выполните шаги, которые я упомянул выше.
teknikqa
Я думаю, что он знает о работе в качестве администратора, поэтому он задает вопрос
barlop
-5

Я бы порекомендовал Ultimate Windows Tweaker . Используйте его, чтобы выбрать «Показать владение», чтобы обойти проблему с разрешениями, и «Показать открытое окно команд здесь», чтобы открыть командную строку в правильной папке.

альтернативный текст

outsideblasts
источник
Установил, открыл проводник и щелкнул правой кнопкой мыши по папке, которую нужно связать, и «вступил во владение», после чего открыл командное окно отсюда. Запустил указанную выше команду mklink и снова получил ту же ошибку.
stephenmm
О, хорошо, стоит попробовать. Как недавний пользователь Windows -> Linux, я могу полностью сочувствовать вещам, которые не работают и не зная, почему. Удачи.
аутбласты
5
По иронии судьбы, ни принятие прав собственности, ни показ командной строки не дают вам прав администратора. Прямо как в Linux.
Surfasb
-1 Попробуйте сами, прежде чем публиковать, тогда вы увидите, что это не работает
barlop