|
|
|
|
Strumenti |
15-02-2020, 09:34 | #1 |
Member
Iscritto dal: Jul 2012
Messaggi: 126
|
[Batch]Link con privilegi amministrativi
Ciao.
Devo lanciare uno script batch per "trascinamento", spostando l'icona del file da elaborare sulla icona del link dello script: nel codice dello script il parametro %1 restituisce il percorso completo del file. Il nome del file (o il percorso) possono contenere degli spazi. Se lo script deve essere eseguito senza privilegi amministrativi, tutto ok: il parametro %1 viene trasformato automaticamente nel percorso virgolettato. Ma io ho bisogno di eseguire lo script con privilegi amministrativi: nelle proprietà avanzate del collegamento ho selezionato l'opzione "Esegui come amministratore" perchè sia richiesta l'elevazione dei privilegi. In questo caso, però, se il percorso completo contiene degli spazi, lo script si chiude senza essere eseguito. C'è una soluzione? Grazie. |
15-02-2020, 10:29 | #2 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
hai provato con "%1"
|
15-02-2020, 10:58 | #3 |
Member
Iscritto dal: Jul 2012
Messaggi: 126
|
Si.
Non funziona. |
15-02-2020, 11:37 | #4 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
prova con:
SET MIO_PATH=%1 bla bla bla e poi usi %MIO_PATH% in luogo di %1 |
15-02-2020, 15:03 | #5 |
Member
Iscritto dal: Jul 2012
Messaggi: 126
|
Continua a non funzionare.
Non riesco a capire se sia un bug o un contorto meccanismo di sicurezza o cos'altro. Ho provato questo: Codice:
SET MIO_PATH=%1 ECHO %MIO_PATH% PAUSE Se il link eleva i privilegi, restituisce il percorso solo se è senza spazi. Ho provato a creare due files nello stesso percorso: - uno con nome "Pippo.txt Pluto.txt" - l'altro con nome "Pippo.txt" Se il problema fosse la mancata virgolettatura del nome, trascinando il primo file si dovrebbe ottenere il percorso completo del secondo: perchè i percorsi sono uguali e il nome del primo file sarebbe troncato in corrispondenza dello spazio. Ma non funziona nemmeno così: quindi non è un problema di virgolettatura |
15-02-2020, 15:45 | #6 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
esagerando
SET MIO_PATH="%1" ECHO "%MIO_PATH%" PAUSE |
15-02-2020, 16:49 | #7 |
Member
Iscritto dal: Jul 2012
Messaggi: 126
|
Macchè
Forse devo cambiare tattica: scrivere due righe di VBS per aprire lo UAC prima dello script |
15-02-2020, 18:54 | #8 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
temo sia una policy di windows
se provi ad aprire una shell con l'attuale user e trasccini al suo interno un file anche con spazi vedi percorso completo tra doppi apici. Se apri una shell come amministratore e fai la stessa cosa cioè, trascini un file al suo interno non appare nulla. |
16-02-2020, 07:56 | #9 |
Senior Member
Iscritto dal: May 2004
Messaggi: 390
|
Prova con "%*"
__________________
--In Siberia non sono tutte gnocche... ma tante si... |
16-02-2020, 10:52 | #10 |
Member
Iscritto dal: Jul 2012
Messaggi: 126
|
|
17-02-2020, 06:18 | #11 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
ultimo tentativo, provare con:
Codice:
runas /user:DOMINIO\Administrator "pippo.bat %1" |
17-02-2020, 09:16 | #12 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 2993
|
Potresti usare il powershell e aggirare il problema.
Ovvero converti il tuo batch in .ps1 (che dovrebbe funzionare out of the box). Nel tuo "lancia.bat" lo modifichi così SET MIO_PATH=%1 @powershell.exe -NoProfile -ExecutionPolicy Bypass -File "loScript.ps1 -paramtero '%MIO_PATH%' " Dovrebbe funzionare così, in alternativa verifica solo se c'è un modo diverso per passare il parametro che non sono sicuro su apice singolo o doppio apice |
17-02-2020, 10:26 | #13 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
alla fine la soluzione era banale
al link simbolico aggiungi la parte in grassetto: Codice:
%Windir%\System32\cmd.exe /C C:\miadir\mio.bat |
17-02-2020, 13:53 | #14 |
Member
Iscritto dal: Jul 2012
Messaggi: 126
|
Grande!
Funziona davvero Grazie mille! |
17-02-2020, 14:23 | #15 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
|
17-02-2020, 14:33 | #16 |
Member
Iscritto dal: Jul 2012
Messaggi: 126
|
Windows 7 pro SP1 (x64)
|
17-02-2020, 14:54 | #17 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:27.