Come posso eseguire il software Windows come utente diverso all'interno di uno script?
-
01-07-2019 - |
Domanda
Sto utilizzando uno script di build che chiama Wise per creare alcuni file di installazione.Il problema è che la licenza Wise ne consente l'esecuzione solo con un particolare account utente, che non è lo stesso account con cui verrà eseguito il mio script di build.So che Windows ha il correre come comando ma questo non funzionerà per uno script automatizzato poiché non è possibile inserire la password tramite la riga di comando.
Soluzione
Questo potrebbe aiutare: Perché il programma RunAs non accetta una password sulla riga di comando?
Altri suggerimenti
Consiglio di dare un'occhiata CPAU.
Strumento di riga di comando per l'avvio del processo in contesto di sicurezza alternativa.Fondamentalmente questo è un sostituto di runas.Consente inoltre di creare file di lavoro e codificare l'ID, la password e la riga di comando in un file in modo che possa essere utilizzato dai normali utenti.
Puoi usarlo in questo modo (esempi):
CPAU -u user [-p password] -ex "WhatToRun" [switches]
Oppure puoi creare un file ".job" che conterrà l'utente e la password codificati al suo interno.In questo modo puoi evitare di dover inserire la password dell'utente all'interno dello script di build.
È una soluzione alternativa, ma puoi creare un'attività pianificata che viene eseguita come account utente e farla funzionare regolarmente, magari una volta al minuto.Sì, allora dovrai aspettare che venga eseguito.
Questa attività può quindi cercare alcuni file di dati da elaborare ed eseguire il lavoro vero e proprio solo se sono presenti.
Questo potrebbe aiutare, è una classe che ho usato in un altro progetto per consentire alle persone di creare i propri account;tutti dovevano avere accesso al programma, ma allo stesso account non poteva essere consentito l'accesso al materiale LDAP, quindi il programma utilizza questa classe per eseguirlo come utente diverso.
http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx