Wie erstelle ich als normaler Benutzer einen Link in Windows 7 Home Premium? [Duplikat]

69

Diese Frage hat hier bereits eine Antwort:

Ich bin ein Linux-Typ und als solcher bin ich sehr verloren, wenn ich versuche, irgendetwas zu tun, was Windows ist. Ich versuche den folgenden Link zu erstellen:

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

Aber ich habe nicht genügend Rechte, um diese Operation durchzuführen. Wie erhalte ich ausreichende Berechtigungen in Windows 7?

AKTUALISIEREN:

Klicken Sie mit der rechten Maustaste auf C: \ backup \ data und ändern Sie die Berechtigungen für den authentifizierten Benutzer auf Vollzugriff. Starten Sie den Computer neu und wiederholen Sie den Befehl ohne Erfolg. Hat jemand weitere Vorschläge?

stephenmm
quelle
Stellen Sie sicher, dass c: \ backup \ data noch nicht vorhanden ist, wenn Sie versuchen, den Link als Administrator zu erstellen.
David d C e Freitas

Antworten:

112

Wie hier angegeben ,

Das Erstellen von symbolischen Links erfordert die Berechtigung "SeCreateSymbolicLinkPrivilege" ("Symbolische Links erstellen"), die standardmäßig nur Administratoren gewährt wird (Sie können dies jedoch mithilfe von Sicherheitsrichtlinien ändern).

So ändern Sie die Richtlinien:

  1. Rechtsklick auf StartRunund starten secpol.msc.

  2. Öffnen Security Settings → Local Policies → User Rights Assignmentund auswählen Create symbolic links(das steht für SeCreateSymbolicLinkPrivilege).

Bildbeschreibung hier eingeben

  1. Doppelklicken Sie auf das Element und fügen Sie sich selbst (oder die gesamte UsersGruppe) zur Liste hinzu.

Die Änderungen werden wirksam, wenn Sie sich abmelden und wieder anmelden.

Hugh Allen
quelle
2
Beachten Sie, dass unter Win7 die Gruppe "Benutzer" für mich erst sichtbar war, nachdem ich im Dialogfeld "Benutzer oder Gruppen auswählen" auf die Schaltfläche "Objekttypen" geklickt und "Gruppen" hinzugefügt habe.
Jonathan Hartley
7
Dies funktioniert bei mir nicht, unabhängig davon, ob ich meinen Benutzer "Benutzer" oder "Jeder" hinzufüge. Ich habe mich abgemeldet und neu gestartet, aber in meinem Ausgangsverzeichnis gibt mir der Befehl "mklink / D docs Dropbox" immer noch "Sie haben nicht genügend Rechte, um diesen Vorgang auszuführen." Gleiches Ergebnis, wenn ich Dateien anstelle von Verzeichnissen anprobiere.
Jonathan Hartley
3
Mein Problem wurde durch die Antwort von Brandon Donnelson gelöst: Außerdem kann der Benutzer, auf dem "mklink" ausgeführt wird, kein Administrator sein.
Jonathan Hartley
@ Jonathan. hat bei mir nicht funktioniert. Und es scheint albern, oder vielleicht missverstehe ich. Windows 7 erlaubt es einem Administrator nicht, symbolische Links zu erstellen, sondern nur Nicht-Administratoren, nachdem ein Administrator ihnen Berechtigungen erteilt hat.
Ben
4
@Ben Ich stimme zu, es scheint barmherzig. Nach dem Nachdenken habe ich mein Problem gelöst, indem ich das 'cmd'-Fenster durch Klicken mit der rechten Maustaste und Auswahl von' Als Administrator ausführen 'ausgeführt habe. Jemand hat mir erklärt, dass Windows beim Starten eines Prozesses Administratorrechte entfernt, es sei denn, Sie wählen "Als Administrator ausführen". Wenn Sie zu diesem Zeitpunkt kein Administrator sind, müssen Sie ein Administratorkennwort eingeben. Wenn Sie bereits Administrator sind, müssen Sie nichts eingeben. Vielleicht erlaubte mir das, "mklink" aus dem cmd-Fenster heraus auszuführen.
Jonathan Hartley
19

Ich habe gerade festgestellt, dass ich eine 'Junction' erstellen kann, auch wenn ich keinen Symlink erstellen kann:

mklink [/D] /J junctionname filename

Wobei / J 'create a junction' anzeigt und / D, glaube ich, wenn es sich bei der genannten Datei um ein Verzeichnis handelt. (Mein Benutzer ist derzeit ein Administrator)

Eine Verknüpfung zu einer 'bat'-Datei scheint jedoch nicht ausführbar zu sein, so dass dies eigentlich keine Verwendung hat.

Versteht jemand, warum dies so ist oder wie es behoben werden kann, um einen alternativen Ansatz für das Problem des OP bereitzustellen?

Jonathan Hartley
quelle
11
Sie können einen Hardlink ( mklink /H) ohne Administratorrechte erstellen , der dann ausführbar ist. Hardlinks sind für Dateien, Junctions sind für Verzeichnisse, Symlinks sind für beide (und /Dwerden verwendet, um anzuzeigen, dass ein Symlink für ein Verzeichnis ist).
Brilliand
3
Junctions und Hardlinks sind für das Beispiel im OP jedoch beide unbrauchbar, da keines von beiden auf ein Netzlaufwerk verweisen kann (Hardlinks sind auf dieselbe Partition beschränkt, Junctions auf lokale Laufwerke). Das kann nur ein Symlink oder eine Windows-Verknüpfung.
Brilliand
12

Ich habe festgestellt, dass dies nur von einem Nicht-Administrator durchgeführt werden kann. Fügen Sie Nicht-Administrator hinzu, um symbolische Links zu erstellen, und führen Sie Nicht-Administrator aus. Sie müssen eine Person ohne Administratorrechte hinzufügen. Dann erteilen Sie dem Ziel die Erlaubnis für den Nicht-Administrator, damit er den Runas-Link ausführen kann.

Brandon Donnelson
quelle
1
Das hat mein Problem völlig gelöst: Mein Benutzer ist ein Administrator, aber "mklink" würde nicht funktionieren, bis ich das "guest" Konto aktiviert habe, "runas / user: guest cmd" aufrufe und dann mklink von dieser neuen cmd Sitzung aus starte. Es war auch erforderlich, vorübergehend Genehmigungen zu erteilen, damit das Gastkonto in mein Home-Verzeichnis wechseln und es dort ändern konnte, wo ich den Symlink haben wollte, der eine Flut von Fehlerdialogen hervorruft, die jedoch harmlos zu sein schienen.
Jonathan Hartley
In diesem Fall funktioniert "mklink" für meinen normalen Benutzer, der Administrator ist, nicht, funktioniert aber auch, wenn er von einer Cmd gestartet wird, die "runas / user: guest cmd" lautete (ich konnte das erforderliche Zitat nicht herausfinden) (um den Befehl mklink direkt als Benutzer guest auszuführen) oder wenn ich meinen eigenen Account aus der Gruppe 'Administratoren' entferne.
Jonathan Hartley
3
Es ist auch erwähnenswert, dass es ist möglich mklink erfolgreich mit einem Konto ausführen , die Admin - Rechte hat. Dafür muss die Benutzerkontensteuerung ausgeschaltet sein.
Vladimir Sizikov
2

Die oben genannten Lösungen haben bei mir nicht funktioniert, da ich nicht nur keinen "Gast" -Benutzer auf meinem Computer erstellen konnte, sondern möglicherweise auch nicht alle Benutzer meiner Tools auf ihren Computern dazu auffordern kann. Es ist auch nicht sinnvoll zu verlangen, dass Administratorkonsolen verwendet werden.

Meine Lösung lautet: elevate.cmd und elevate.vbs

  1. Herunterladen von: http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx
  2. Platzieren Sie diese beiden Dateien in Ihrem Systempfad (oder an einem geeigneten Ort im Netzwerk).
  3. elevate.cmd cmd /c "cd /d LINK_DIR && mklink /D LINK_NAME LINK_TARGET_PATH"

Nachteile: elevate.cmd kehrt sofort zurück, aber das Beantworten des UAC-Dialogs benötigt Zeit. Dies zwang mich, ein "Hast du den UAC-Dialog schon in Ordnung gebracht?" Hinzuzufügen. Frage zu meinem Skript. Sie können "elevate.cmd" überspringen, indem Sie den Exit-Code für den folgenden Befehl überprüfen: whoami /groups | find "S-1-16-12288"(Exit-Code 0 bedeutet, dass Sie eine Adminstrator-Konsole haben).

Denkkar
quelle
2

Ist auch heute auf dieses Problem gestoßen. Ich hatte eine NAnt-Build-Aufgabe, die versuchte, symbolische Links auf einem Computer zu erstellen. Wurde mangels Privilegien abgelehnt. Ich habe diesen Beitrag gefunden, der zur Lösung meines Problems beigetragen hat: http://josh.mainelan.net/tag/mklink/ .

Der relevante Abschnitt:

  1. Rufen Sie Ihre Startbox auf, geben Sie "secpol.msc" ein und klicken Sie auf "OK".
  2. Navigieren Sie zum Ordner Sicherheitseinstellungen \ Lokale Richtlinien \ Zuweisen von Benutzerrechten.
  3. Suchen Sie nach "Symbolische Links erstellen" und fügen Sie die Benutzergruppe hinzu.

Ich denke, Sie müssen Ihren Computer oder etwas neu starten, nachdem Sie dies getan haben.

Matt
quelle
1

Führen Sie die Eingabeaufforderung als Administrator aus, um diesen Befehl auszuführen.

Geben Sie cmd (oder einen Befehl) in das Startmenü ein und klicken Sie mit der rechten Maustaste darauf und wählen Sie "Als Administrator ausführen".

Jetzt wird jeder Befehl, den Sie ausführen, mit Administratorrechten ausgeführt.

teknikqa
quelle
Wie bereits erwähnt, ist SeCreateSymbolicLinkPrivilege erforderlich. Selbst wenn Sie unter Windows 7 Administrator sind, werden die meisten Programme nicht mit Administratorrechten ausgeführt. Führen Sie die oben genannten Schritte aus, um Administratorrechte für ein Programm zu erhalten.
Teknikqa
Ich denke, er weiß, wie man als Administrator läuft, deshalb stellt er die Frage
Barlop
-5

Ich würde Ultimate Windows Tweaker empfehlen . Wählen Sie "Show Take Ownership", um das Berechtigungsproblem zu umgehen, und "Show Open Command Window Here", um die Eingabeaufforderung im richtigen Ordner zu öffnen.

Alt-Text

Außenseitenexplosionen
quelle
Installiert, Explorer geöffnet und mit der rechten Maustaste auf den zu verknüpfenden Ordner geklickt und "Besitz übernommen", dann das Befehlsfenster von hier aus geöffnet. Führen Sie den obigen Befehl mklink aus und erhalten Sie den gleichen Fehler erneut.
stephenmm
Na gut, einen Versuch wert. Als neuer Benutzer von Windows -> Linux kann ich mich voll und ganz mit Dingen auseinandersetzen, die nicht funktionieren und nicht wissen, warum. Viel Glück.
Außenseitenexplosionen
5
Ironischerweise gibt Ihnen weder die Übernahme des Eigentums noch die Befehlszeile "Anzeigen" Administratorrechte. Genau wie unter Linux.
Surfasb
-1 Versuchen Sie es selbst, bevor Sie es veröffentlichen. Dann wird es nicht funktionieren
Barlop