Jak utworzyć łącze w systemie Windows 7 Home Premium jako zwykły użytkownik? [duplikować]

69

To pytanie ma już odpowiedź tutaj:

Jestem facetem z Linuksa i jako taki jestem bardzo zagubiony, kiedy próbuję cokolwiek zrobić, to Windows. Próbuję utworzyć następujący link:

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

Ale nie mam wystarczających uprawnień, aby wykonać tę operację. Jak uzyskać wystarczające uprawnienia w systemie Windows 7?

AKTUALIZACJA:

Kliknij prawym przyciskiem myszy C: \ backup \ data i zmienił uprawnienia do pełnego dostępu dla uwierzytelnionego użytkownika, ponownie uruchomił maszynę i ponowił polecenie bez powodzenia. Czy ktoś ma jakieś dodatkowe sugestie?

stephenmm
źródło
Upewnij się, że c: \ backup \ data już nie istnieje, gdy próbujesz utworzyć łącze jako administrator.
David d C e Freitas

Odpowiedzi:

112

Jak stwierdzono tutaj ,

Tworzenie dowiązań symbolicznych wymaga SeCreateSymbolicLinkPrivilege („Utwórz dowiązania symboliczne”), który jest domyślnie przyznawany tylko administratorom (ale można to zmienić za pomocą zasad bezpieczeństwa).

Aby zmienić zasady:

  1. Kliknij prawym przyciskiem Start→ → Runi uruchom secpol.msc.

  2. Otwórz Security Settings → Local Policies → User Rights Assignmenti wybierz Create symbolic links(to reprezentuje SeCreateSymbolicLinkPrivilege).

wprowadź opis zdjęcia tutaj

  1. Kliknij dwukrotnie element i dodaj siebie (lub całą Usersgrupę) do listy.

Zmiany zostaną zastosowane po wylogowaniu i ponownym zalogowaniu.

Hugh Allen
źródło
2
Zauważ, że w Win7 grupa „Użytkownicy” nie była dla mnie widoczna, dopóki w oknie dialogowym „Wybierz użytkowników lub grupy” nie kliknąłem przycisku „Typy obiektów” i dodałem „grupy”.
Jonathan Hartley
7
To nie działa dla mnie, niezależnie od tego, czy dodam mojego użytkownika, „Użytkownicy”, czy „Wszyscy”. Wylogowałem się i zrestartowałem, ale w moim katalogu domowym polecenie „mklink / D docs Dropbox” nadal daje mi „Nie masz wystarczających uprawnień do wykonania tej operacji”. Ten sam wynik, jeśli spróbuję na plikach zamiast katalogów.
Jonathan Hartley
3
Mój problem rozwiązany przez odpowiedź Brandona Donnelsona: Oprócz tego użytkownik uruchamiający „mklink” nie może być administratorem.
Jonathan Hartley
@Jathanathan. nie działało dla mnie. I wydaje się to głupie, a może nie rozumiem. Windows 7 nie pozwala administratorowi tworzyć dowiązań symbolicznych, ale tylko osoby niebędące administratorami po tym, jak administrator przyznaje im uprawnienia ???
Ben
4
@Ben Zgadzam się, że to bzdury. Jednak po refleksji myślę, że rozwiązałem problem, uruchamiając okno „cmd”, klikając prawym przyciskiem myszy i wybierając opcję „uruchom jako administrator”. Ktoś mi wyjaśnił, że podczas uruchamiania procesu system Windows usuwa z niego uprawnienia administratora, chyba że wybierzesz opcję „Uruchom jako administrator”. W tym momencie, jeśli nie jesteś administratorem, musisz wprowadzić hasło administratora. Jeśli jesteś już administratorem, nie musisz nic wpisywać. Być może pozwoliło mi to uruchomić polecenie „mklink” z poziomu okna cmd.
Jonathan Hartley
19

Właśnie odkryłem, że mogę utworzyć „Węzeł”, nawet jeśli nie mogę utworzyć dowiązania symbolicznego:

mklink [/D] /J junctionname filename

gdzie / J oznacza „stwórz połączenie”, a / D jest, jak sądzę, bo jeśli nazwany plik jest katalogiem. (mój użytkownik jest obecnie administratorem)

Jednak połączenie z plikiem „nietoperza” nie wydaje się być wykonywalne, więc w rzeczywistości nie jest to przydatne.

Czy ktoś rozumie, dlaczego tak jest lub jak to naprawić, aby zapewnić alternatywne podejście do problemu PO?

Jonathan Hartley
źródło
11
Możesz utworzyć hardlink ( mklink /H) bez uprawnień administratora, który będzie wykonywalny. Dowiązania twarde dotyczą plików, połączenia dla katalogów, dowiązania symboliczne dla obu (i /Dsłużą do wskazania, że ​​dowiązanie symboliczne dotyczy katalogu).
Brilliand
3
Połączenia i łącza twarde są jednak bezużyteczne na przykład w PO, ponieważ żadne z nich nie może wskazywać na dysk sieciowy (łącza twarde są ograniczone do tej samej partycji, połączenia są ograniczone do dysków lokalnych); może to zrobić tylko dowiązanie symboliczne lub skrót Windows.
Brilliand
12

Znalazłem, że może to zrobić tylko osoba niebędąca administratorem. Dodaj użytkownika niebędącego administratorem, aby utworzyć dowiązania symboliczne, a także konta administratora. Musisz dodać osobę z uprawnieniami nieadministracyjnymi. Następnie zezwalasz celowi nie-administratorowi, aby mógł on wykonać runas mklink.

Brandon Donnelson
źródło
1
To całkowicie rozwiązało mój problem: Mój użytkownik jest administratorem, ale „mklink” nie działałoby, dopóki nie włączyłem konta „gość”, wywołałem „runas / user: guest cmd”, a następnie nie uruchomiłem mklink z nowej sesji cmd. Wymagało to również tymczasowego przyznania zezwoleń, aby konto gościa mogło wpinać się i modyfikować mój katalog domowy, w którym chciałem dowiązania symbolicznego, które powoduje lawinę okien dialogowych błędów, ale wydawały się być w porządku.
Jonathan Hartley
Dla przypomnienia, „mklink” nie działa dla mojego zwykłego użytkownika, który jest administratorem, ale działa albo po uruchomieniu z cmd, który był „runas / user: guest cmd” (nie mogłem znaleźć wymaganego cytowania aby bezpośrednio uruchomić komendę mklink jako gość-gość) lub kiedy usunę własne konto z grupy „administratorzy”.
Jonathan Hartley
3
Warto również zauważyć, że jest to możliwe do uruchomienia mklink powodzeniem z konta, które ma uprawnienia administratora. Ale to wymaga wyłączenia UAC.
Vladimir Sizikov,
2

Powyższe rozwiązania nie działały dla mnie, ponieważ nie tylko nie mogłem utworzyć użytkownika „gościa” na moim komputerze, ale nie mogę też poprosić wszystkich użytkowników moich narzędzi, aby zrobili to samo na swoich komputerach. Nie jest również uzasadnione wymaganie od nich korzystania z konsoli administratora.

Moje rozwiązanie polega na użyciu: elevate.cmd i elevate.vbs

  1. Pobierz z: http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx
  2. Umieść te dwa pliki na ścieżce systemowej (lub w dogodnym miejscu w sieci)
  3. elevate.cmd cmd /c "cd /d LINK_DIR && mklink /D LINK_NAME LINK_TARGET_PATH"

Wady: elevate.cmd zwraca natychmiast, ale odpowiedź na okno dialogowe UAC zajmuje dużo czasu. Zmusiło mnie to do dodania: „czy dobrze działało już okno dialogowe UAC?” pytanie do mojego skryptu. Można pominąć „elevate.cmd”, sprawdzając kod wyjścia dla następującego polecenia: whoami /groups | find "S-1-16-12288"(kod wyjścia 0 oznacza, że ​​masz konsolę Adminstrator).

Denkkar
źródło
2

Również dzisiaj spotkałem się z tym problemem. Miałem zadanie kompilacji NAnt, próbując utworzyć dowiązania symboliczne na komputerze. Został odrzucony z powodu braku przywilejów. Znalazłem ten post, który pomógł rozwiązać mój problem: http://josh.mainelan.net/tag/mklink/ .

Odpowiednia sekcja:

  1. Wyświetl okno uruchamiania, wpisz „secpol.msc” i kliknij OK.
  2. Przejdź w folderze Ustawienia zabezpieczeń \ Zasady lokalne \ Przypisywanie praw użytkownika.
  3. Znajdź „Utwórz dowiązania symboliczne” i dodaj do niej grupę Użytkownicy.

Myślę, że po wykonaniu tej czynności musisz ponownie uruchomić komputer lub coś takiego.

Matt
źródło
1

Uruchom wiersz polecenia jako administrator, aby wykonać to polecenie.

Wpisz cmd (lub polecenie) w menu Start i kliknij prawym przyciskiem myszy i wybierz „Uruchom jako administrator”.

Teraz każde wykonane polecenie zostanie wykonane z uprawnieniami administratora.

teknikqa
źródło
Jak wspomnieli inni, wymagane jest SeCreateSymbolicLinkPrivilege. Jednak nawet jeśli jesteś administratorem systemu Windows 7, większość programów nie jest uruchamiana z uprawnieniami administracyjnymi. Aby uzyskać uprawnienia administracyjne do programu, wykonaj czynności opisane powyżej.
teknikqa
Myślę, że wie o
byciu
-5

Poleciłbym Ultimate Windows Tweaker . Użyj go, aby wybrać „Pokaż przejęcie własności”, aby obejść problem z uprawnieniami, i „Pokaż otwarte okno poleceń tutaj”, aby otworzyć wiersz polecenia w odpowiednim folderze.

alternatywny tekst

wybuchy zewnętrzne
źródło
Zainstalowany, otworzył Eksploratora i kliknął prawym przyciskiem myszy folder, który ma zostać połączony, i „przejął na własność”, a następnie otworzył okno poleceń z tego miejsca. Uruchomiono powyższe polecenie mklink i ponownie otrzymałem ten sam błąd.
stephenmm
Cóż, warto spróbować. Jako niedawny użytkownik systemu Windows -> Linux, mogę w pełni popierać rzeczy, które nie działają i nie wiem dlaczego. Powodzenia.
outsideblasts
5
Jak na ironię, ani przejęcie własności, ani polecenie Show Command nie daje uprawnień administratora. Tak jak w Linuksie.
surfasb
-1 Spróbuj wypróbować go przed opublikowaniem, a zobaczysz, że nie działa
barlop