06/06/2011 19.58
prima di tutto salve e complimenti del bellissimo e funzionale sito
Le scrivo perché ho questo problema :
vorrei sapere se c'è il modo di creare uno script con imput per eseguire in automatico come Admin, dopo l'installazione di un programma
Con win7 si deve cliccare col DX sul programma, poi su compatibilità, poi selezionare esegui questo programma come amministratore
ora chiedo,si può creare uno script che esegua queste operazioni in automatico dopo un'installazione ?
08/06/2011 7.34
Ciao pingus, grazie per i complimenti!
Se hai a disposizione il codice sorgente del tuo applicativo ti consiglierei di agire direttamente sul
manifest dell'eseguibile ed indicare lì il requisito dei privilegi di amministrazione.
In alternativa, puoi agire su questa voce del registry, che contiene una chiave per ogni eseguibile configurato attraverso l'interfaccia che hai menzionato tu:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
Ogni eseguibile avrà una chiave stringa con il proprio percorso completo e nome, mentre come valore la voce
RUNASADMIN.
Ciao, a presto!
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005
08/06/2011 8.18
scusa Efran non trovo la chiave del registro da te menzionata
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
io adopero windows 7 e la voce \Layers non esiste
e non ci sono elenchi di eseguibili, mi spieghi meglio come procedere per favore
08/06/2011 9.29
Ciao pingus,
la chiave Layers compare appena configuri un qualsiasi eseguibile per essere lanciato con i privilegi di amministrazione, utilizzando il metodo che hai descritto nel tuo post di apertura.
Ciao, a presto!
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005
14/06/2011 12.37
Ciao pingus,
scusa del ritardo. Dunque, per aggiungere la voce del registry che indica al sistema di avviare un eseguibile con i privilegi di amministrazione puoi usare questo script:
$path = "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
$executablePath = "C:\Program Files\Xyz\Xyz.exe"
md $path -Force
Set-ItemProperty $path -Name $executablePath -value "RUNASADMIN"
Nota che la variabile
$executablePath deve essere impostata con il percorso ed il nome del tuo eseguibile.
Ciao, a presto!
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005
14/06/2011 16.01
grazie come sempre del tuo indispensabile aiuto
ma ti chiedo come si può fare per attivare l'esecuzione degli script se non sono attivati
in powershell,hai capito cosa intendo,con un file
batch,che parametri si devono passare a powershell ?
per attivare l'esecuzione degli script .ps1 ?
14/06/2011 20.50
Ciao pingus,
per abilitare l'esecuzione degli script esterni in PowerShell devi utilizzare il cmdlet
Set-ExecutionPolicy.
Nel tuo caso, però, potresti passare il blocco da eseguire direttamente all'eseguibile della shell - powershell.exe:
powershell.exe -Command "md c:\test; Set-ItemProperty ..."
Per tutti i dettagli puoi lanciare il comando
powershell -? direttamente da CMD.
Ciao, a presto!
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005