Diese Frage hat hier bereits eine Antwort:
Mein Ausgangsverzeichnis ist c: \ Users \ phi als Benutzer phi, und ich habe ein Verzeichnis unter c: \ Users \ abc erstellt. Ich muss eine symbolische Verknüpfung von c: \ Users \ phi \ hello zu c: \ Users \ abc \ hello herstellen.
Ich führe den folgenden Befehl aus
mklink c: \ Users \ abc \ hallo c: \ Users \ phi \ hallo
Aber ich bekomme den Zugriff verweigert Fehler. Benutzer phi ist Administrator, daher habe ich keine Probleme beim Schreiben von Dateien in c: \ Users \ abc.
Warum ist das? Wie geht das?
SeCreateSymbolicLinkPrivilege
) benötigen , während Sie für Benutzer mit Administratorrechten die Berechtigung " run-as-admin" erhöhen müssen. Aber ist es dann möglich, auchSeCreateSymbolicLinkPrivilege
einen Admin-Benutzer einzurichten und zu vermeiden, mit run-as-admin zu erhöhen? Diese Frage: stackoverflow.com/questions/29956470/… gibt an, dass die Benutzerkontensteuerung deaktiviert sein muss, damit Administratorbenutzer sie nicht erhöhen müssen.Ich habe eine Antwort von dieser Seite gefunden . Kurz gesagt, ich hätte cmd.exe als Administrator ausführen sollen.
quelle
Beachten Sie, dass der gleiche Fehler angezeigt wird, wenn Sie versuchen, Junctions auf zugeordneten Laufwerken zu erstellen . Ich habe mir die Haare herausgerissen, bis ich auf die Beispiele auf dieser Seite zu MSDN Hard Links and Junctions gestoßen bin .
Kurze Antwort: Sie können mklink nur auf lokalen Volumes verwenden.
quelle
mklink
über lokale Volumes hinaus verwenden.mklink /d link_name \\server\share
funktioniert gutIn Windows 7 (und höher) benötigen Sie ein spezielles Sicherheitsrecht, um Links und Junctions zu erstellen. Verwendung Als Administrator können Sie diese Berechtigung Benutzern gewähren
secpol.msc
zu setzenLocal Policies\User Rights Assignment\Create symbolic links
.Wenn der Benutzer zu diesem Zeitpunkt angemeldet ist, muss er sich abmelden und wieder anmelden, um Links erstellen zu können.
Beachten Sie, dass Links in einigen Apps Sicherheitslücken aufweisen können. Ich habe nicht untersucht, wie diese Lücken aussehen könnten.
quelle
Wenn Sie häufig mit Linux arbeiten, denken Sie daran, dass die Parameter unter Windows ausgetauscht werden.
Wenn Sie die falsche Reihenfolge verwenden, erhalten Sie ebenfalls die Meldung "Zugriff verweigert". Weil Sie versuchen, eine symbolische Verknüpfung zu erstellen, in der das Original bereits vorhanden ist.
Windows:
mklink /D link original
Linux:
ln -s original link
quelle
Ich bekam das, weil ich versehentlich
mklink /D
gegen eine Datei lief. Der Link wurde im Explorer nicht angezeigt, aber im Windows Explorer. Über die Eingabeaufforderung habe ich die ursprüngliche ungültige Verzeichnisverknüpfung gelöscht und anschließend ohne die/D
Option neu erstellt.Ich habe übrigens den Fehler "Zugriff verweigert" erhalten, obwohl ich cmd.exe als Administrator ausgeführt habe.
quelle
Neben der Ausführung
mklink
als Administrator sollten Sie auch sicherstellen, dass Sie über ausreichende Berechtigungen für den Zielordner verfügen, zu dem Sie eine Verknüpfung herstellen.quelle
Wenn du läufst:
es sollte funktionieren. In meinem Fall haben Powershell und Cmd die gleiche Ausgabe erzeugt. Für Powershell müssen Sie den Befehl nur mit starten
quelle
mklink /D src tgt
stattdessen.Dies mag seltsam klingen, prüfen Sie jedoch, ob die Datei oder der Ordner, die bzw. den Sie erstellen möchten, noch nicht vorhanden ist. Manchmal ist es einfach, in der Eingabeaufforderung cmd zu übersehen.
quelle
Für Verzeichnisse müssen Sie Folgendes tun:
quelle