Come faccio a creare un collegamento in Windows 7 Home Premium come utente normale? [duplicare]


69

Questa domanda ha già una risposta qui:

Sono un ragazzo Linux e come tale sono molto perso quando provo a fare qualsiasi cosa sia Windows. Sto cercando di creare il seguente link:

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

Ma non ho il privilegio sufficiente per eseguire questa operazione. Come posso ottenere privilegi sufficienti in Windows 7?

AGGIORNARE:

Fare clic con il tasto destro su C: \ backup \ data e modificare le autorizzazioni in accesso completo per l'utente autenticato, riavviare la macchina e riprovare il comando senza fortuna. Qualcuno ha ulteriori suggerimenti?


Assicurarsi che c: \ backup \ data non esista già quando si tenta di creare il collegamento come amministratore.
David d C e Freitas,

Risposte:


112

Come indicato qui ,

La creazione di collegamenti simbolici richiede SeCreateSymbolicLinkPrivilege ("Crea collegamenti simbolici"), che viene concesso solo agli amministratori per impostazione predefinita (ma è possibile modificarlo utilizzando i criteri di sicurezza).

Per modificare le politiche:

  1. Fare clic con il tasto destro su StartRune avviare secpol.msc.

  2. Apri Security Settings → Local Policies → User Rights Assignmente seleziona Create symbolic links(che rappresenta SeCreateSymbolicLinkPrivilege).

inserisci qui la descrizione dell'immagine

  1. Fai doppio clic sull'elemento e aggiungi te stesso (o l'intero Usersgruppo) all'elenco.

Le modifiche verranno applicate quando ti disconnetti e accedi di nuovo.


2
Notare che su Win7, il gruppo "Utenti" non è stato visibile per me fino a quando, dalla finestra di dialogo "Seleziona utenti o gruppi", ho fatto clic sul pulsante "Tipi di oggetto" e ho aggiunto "gruppi".
Jonathan Hartley,

7
Questo non funziona per me, indipendentemente dal fatto che aggiunga il mio utente, "Utenti" o "Tutti". Mi sono disconnesso e ho riavviato, ma nella mia home directory, il comando "mklink / D docs Dropbox" mi dà ancora "Non hai i privilegi sufficienti per eseguire questa operazione". Stesso risultato se provo su file anziché su directory.
Jonathan Hartley,

3
Il mio problema risolto dalla risposta di Brandon Donnelson: Oltre a quanto sopra, l'utente che esegue "mklink" non può essere un amministratore.
Jonathan Hartley,

@Jonathan. non ha funzionato per me. E sembra sciocco, o forse sono frainteso. Windows 7 non consente a un amministratore di creare collegamenti simbolici, ma solo non amministratori dopo che un amministratore ha concesso loro privilegi ???
Ben

4
@Ben sono d'accordo che sembra barmy. Tuttavia, penso di aver risolto il mio problema eseguendo la finestra "cmd" facendo clic con il pulsante destro del mouse e scegliendo "Esegui come amministratore". Qualcuno mi ha spiegato che quando si avvia un processo, Windows ne elimina i privilegi di amministratore, a meno che non si scelga 'esegui come amministratore'. A quel punto, se non sei un amministratore, devi inserire una password amministratore. Se sei già amministratore, non devi inserire nulla. Forse questo mi ha permesso di eseguire "mklink" dalla finestra del cmd.
Jonathan Hartley,

19

Ho appena scoperto che posso creare un "Junction" anche quando non riesco a creare un collegamento simbolico:

mklink [/D] /J junctionname filename

dove / J indica "crea un incrocio" e / D è, credo, per se il file indicato è una directory. (il mio utente è attualmente un amministratore)

Tuttavia, una giunzione a un file 'bat' non sembra essere eseguibile, quindi in realtà non serve a nulla.

Qualcuno capisce perché questo è o come può essere risolto per fornire un approccio alternativo al problema del PO?


11
Puoi creare un hardlink ( mklink /H) senza i privilegi di amministratore e sarà eseguibile. I collegamenti fisici sono per i file, le giunzioni sono per le directory, i collegamenti simbolici per entrambi (e /Dviene utilizzato per indicare che un collegamento simbolico è per una directory).
Brilliand,

3
Giunzioni e hardlink sono entrambi inutili per l'esempio nell'OP, tuttavia, poiché nessuno dei due può puntare a un'unità di rete (i hardlink sono limitati alla stessa partizione, le giunzioni sono limitate alle unità locali); solo un collegamento simbolico o un collegamento di Windows può farlo.
Brilliand,

12

Ho trovato che solo un non amministratore può farlo. Aggiungi non amministratore per creare collegamenti simbolici e runas non amministratore. Dovrai aggiungere una persona con privilegi non di amministratore. Quindi dai l'autorizzazione al target per il non amministratore, in modo che possa eseguire le runas mklink.


1
Questo ha risolto totalmente il mio problema: il mio utente è un amministratore, ma "mklink" non funzionerebbe fino a quando non avessi abilitato l'account "guest", avrei chiamato "runas / user: guest cmd" e avessi eseguito mklink da quella nuova sessione cmd. Richiedeva anche la concessione temporanea di permessi in modo che l'account guest potesse inserire e modificare la mia directory home, dove volevo il link simbolico, che provoca una raffica di dialoghi di errore, ma sembravano essere un problema.
Jonathan Hartley,

Per la cronaca, "mklink" non funziona per il mio utente normale che è un amministratore, ma funziona anche quando avviato da un cmd che è stato "runas / user: guest cmd" (non sono riuscito a capire il preventivo richiesto per eseguire direttamente il comando mklink come guest user) o quando rimuovo il mio account dal gruppo "amministratori".
Jonathan Hartley,

3
Vale anche la pena notare che è possibile eseguire correttamente mklink con un account con diritti di amministratore. Ma ciò richiede che UAC sia disattivato.
Vladimir Sizikov,

2

Le soluzioni di cui sopra non hanno funzionato per me perché non solo non potevo creare un utente "ospite" sul mio computer, ma non posso chiedere a tutti gli utenti dei miei strumenti di farlo anche sui loro computer. Né è ragionevole richiedere che utilizzino le console di amministrazione.

La mia soluzione è usare: elevate.cmd e elevate.vbs

  1. Scarica da: http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx
  2. Metti quei due file sul tuo percorso di sistema (o in qualche posto comodo sulla rete)
  3. elevate.cmd cmd /c "cd /d LINK_DIR && mklink /D LINK_NAME LINK_TARGET_PATH"

Contro: elevate.cmd ritorna immediatamente ma rispondere alla finestra di dialogo Controllo dell'account utente richiede tempo. Questo mi ha costretto ad aggiungere un "hai già ok la finestra di dialogo UAC?" domanda alla mia sceneggiatura. È possibile saltare "elevate.cmd" controllando il codice di uscita per il seguente comando: whoami /groups | find "S-1-16-12288"(il codice di uscita 0 indica che si dispone di una console di amministrazione).


2

Anche oggi ho riscontrato questo problema. Ho avuto un compito di compilazione NAnt cercando di creare collegamenti simbolici su un computer. Veniva rifiutato per mancanza di privilegi. Ho trovato questo post che mi ha aiutato a risolvere il mio problema: http://josh.mainelan.net/tag/mklink/ .

La sezione pertinente:

  1. Apri la tua casella di esecuzione, digita "secpol.msc" e fai clic su OK.
  2. Passare alla cartella Impostazioni sicurezza \ Criteri locali \ Assegnazione diritti utente.
  3. Trova "Crea collegamenti simbolici" e aggiungi il gruppo Utenti.

Penso che sia necessario riavviare il computer o qualcosa dopo aver fatto questo.


1

Eseguire il prompt dei comandi come amministratore per eseguire questo comando.

Digita cmd (o comando) nel menu Start e fai clic destro su di esso e scegli "Esegui come amministratore".

Ora qualsiasi comando che eseguirai verrà eseguito con i privilegi di amministratore.


Come altri hanno già detto, SeCreateSymbolicLinkPrivilege è ciò che è richiesto. Tuttavia, anche se sei l'amministratore di Windows 7, la maggior parte dei programmi non viene eseguita con privilegi di amministratore. Per ottenere i privilegi di amministratore per un programma, seguire i passaggi sopra menzionati.
Teknikqa,

Penso che sappia di correre come amministratore ed è per questo che sta ponendo la domanda
barlop

-5

Consiglierei Ultimate Windows Tweaker . Usalo per selezionare "Mostra proprietà" per aggirare il problema delle autorizzazioni e "Mostra finestra di comando aperta qui" per aprire il prompt dei comandi nella cartella corretta.

testo alternativo


Installato, aperto explorer e cliccato con il tasto destro sulla cartella da collegare e "preso possesso", quindi ha aperto la finestra di comando da qui. Ho eseguito il comando mklink sopra e ho ottenuto nuovamente lo stesso errore.
Stephen

Aw bene, vale la pena provare. Come un recente utente Windows -> Linux, posso esprimere la mia solidarietà per le cose che non funzionano e non so perché. In bocca al lupo.
esplosioni esterne il

5
Ironia della sorte, né assumere la proprietà né mostrare il prompt dei comandi ti dà i privilegi di amministratore. Proprio come in Linux.
surfasb,

-1 Prova a provarlo tu stesso prima di pubblicarlo, poi
vedresti che
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.