Visualizzazione post con etichetta amministratore. Mostra tutti i post
Visualizzazione post con etichetta amministratore. Mostra tutti i post

giovedì 5 luglio 2018

PowerShell: Forzare l'esecuzione di uno script con privilegi elevati

Chi crea script PowerShell sa bene che alcune operazioni, per essere portate correttamente a termine, richiedono l'esecuzione con privilegi elevati. Purtroppo non c'è la possibilità di cliccare con il tasto destro del mouse sul file PS1 e selezionare "Esegui come amministratore" dal menu contestuale come avviene ad esempio con i file eseguibili. 
A questa mancanza è possibile sopperire aggiungendo allo script il seguente codice pubblicato sullo Script Center di Microsoft:

function Use-RunAs 
{    
    # Check if script is running as Adminstrator and if not use RunAs 
    # Use Check Switch to check if admin 
     
    param([Switch]$Check) 
     
    $IsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()` 
        ).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") 
         
    if ($Check) { return $IsAdmin }     
 
    if ($MyInvocation.ScriptName -ne "") 
    {  
        if (-not $IsAdmin)  
        {  
            try 
            {  
                $arg = "-file `"$($MyInvocation.ScriptName)`"" 
                Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList $arg -ErrorAction 'stop'  
            } 
            catch 
            { 
                Write-Warning "Error - Failed to restart script with runas"  
                break               
            } 
            exit # Quit this session of powershell 
        }  
    }  
    else  
    {  
        Write-Warning "Error - Script must be saved as a .ps1 file first"  
        break  
    }  
} 

La function, che va richiamata prima di eseguire altre operazioni, non fa altro che verificare se lo script è stato eseguito in una console con i permessi di amministratore e, in caso contrario, provvede autonomamente a rilanciarlo con i permessi elevati.
Se non è stato fatto il login con un utenza amministrativa verranno richieste le credenziali.
PowerShell, Esecuzione script con privilegi elevati
FIG 1 - PowerShell, Esecuzione script con privilegi elevati

Dal seguente link è possibile scaricare lo script di esempio
DOWNLOAD



mercoledì 6 aprile 2016

Windows: Rendere un utente amministratore locale utilizzando Offline NT Password & Registry Editor

Nell'articolo Windows: Resettare/eliminare la password di Windows tramite Offline NT Password & Registry Editor ho mostrato come resettare la password di un account utilizzando il tool Offline NT Password & Registry Editor. Questo tool è utile anche in altre situazioni come ad es. nel caso in cui si voglia fornire ad un account i permessi di amministratore locale della macchina. Se si dispone già di un account amministratore di sistema il problema non si pone: basta agire tramite il pannello di controllo di Windows per fornire i privilegi amministrativi anche ad altri account della macchina. In caso contrario possiamo utilizzare il tool Offline NT Password & Registry Editor per resettare la password dell'amministratore del sistema (e avere accesso al sistema con tale account) oppure, come mostrerò di seguito, fornire i privilegi di amministratore di sistema ad un qualsiasi account con permessi limitati. I passaggi sono analoghi a quelli visti per il reset della password.


ATTENZIONE:
Danneggiare o violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.

La prima operazione da eseguire è quella di procurarsi il tool: da http://pogostick.net/~pnh/ntpasswd/ è possibile scaricare sia l'immagine ISO che i file per creare una pendrive USB bootable. I file vengono scaricati in formato compresso .zip quindi dovranno essere scompattati prima di poterli utilizzare.

Download Offline NT Password & Registry Editor
FIG 1 - Download Offline NT Password & Registry Editor
L'immagine ISO può essere masterizzata su cd/dvd tramite un programma di masterizzazione mentre scaricando i file per la creazione di una pendrive, è necessario copiare tutti i file sul supporto usb, aprire un prompt dei comandi come amministratore e digitare il seguente comando
X:\syslinux.exe -ma X:
dove al posto della X va indicata la lettera della nostra pendrive.


Fornire ad un account i privilegi di amministratore:
  • Eseguire il boot dal supporto creato (CD/DVD o pendrive) e quando a video appare boot: come mostrato in figura FIG 2, premere invio per proseguire.
    Offline NT Password & Registry Editor, Boot
    FIG 2 - Offline NT Password & Registry Editor, Boot
  • Il tool cerca di individuare la partizione dove è installato il sistema operativo e, al termine dell'analisi, ci propone le installazioni di Windows che ha individuato. Digitare il numero dell'installazione di Windows su cui si intende agire e premere invio. L'opzione di default, e più probabile, è indicata tra parentesi quadre (ad es. [1]). Premendo solo invio viene accettata l'opzione di default proposta dal tool.
    Offline NT Password & Registry Editor, installazioni di Windows
    FIG 3 - Offline NT Password & Registry Editor, installazioni di Windows
  • Nel caso in cui venisse richiesto, confermare il percorso del registro di sistema (Windows/System32/config) premendo invio.
  • Confermare l'opzione [1] Password reset [sam] premendo invio per procedere
    Offline NT Password & Registry Editor, Password reset [sam]
    FIG 4 - Offline NT Password & Registry Editor, Password reset [sam]
  • Premere nuovamente invio per confermare l'opzione 1 - Edit user data and passwords
    
    Offline NT Password & Registry Editor, Edit user data and passwords
    FIG 5 - Offline NT Password & Registry Editor, Edit user data and passwords
  • Digitare il RID dell'account a cui si intende fornire i privilegi di amministratore e premere invio (ad es. in figura FIG 6 per rendere l'account Utente2  amministratore della macchina digitare 03ea seguito da invio)
    Offline NT Password & Registry Editor, RID user account
    FIG 6 - Offline NT Password & Registry Editor, RID user account
  • Digitare 3 per l'opzione Promote user (make user an administrator) e premere invio
    Offline NT Password & Registry Editor, Promote user (make user an administrator)
    FIG 7 - Offline NT Password & Registry Editor, Promote user (make user an administrator)
  • Confermare l'operazione digitando y seguito da invio 
    Offline NT Password & Registry Editor, conferma promozione ad amministratore
    FIG 8 - Offline NT Password & Registry Editor, conferma promozione ad amministratore
  • A questo punto digitare q seguito da invio per ritornare alla selezione utente (FIG 9) e al menu successivo ancora q seguito da invio per selezionare la voce Quit (you will be asked if there is something to save) (FIG 10)
    Offline NT Password & Registry Editor, Quit editing user, back to user select
    FIG 9 - Offline NT Password & Registry Editor, Quit editing user, back to user select
    Offline NT Password & Registry Editor, Quit (you will be asked if there is something to save)
    FIG 10 - Offline NT Password & Registry Editor, Quit (you will be asked if there is something to save)
  • Viene chiesto se si intende salvare le modifiche effettuate (FIG 11). Confermare digitando y seguito da invio.
    Offline NT Password & Registry Editor, About to write file(s) back! Do it?
    FIG 11 - Offline NT Password & Registry Editor, About to write file(s) back! Do it?
  • Terminata la scrittura del file SAM ci verrà richiesto se effettuare una nuova operazione o uscire. Premere invio per terminare il tool. Non resta che riavviare normalmente il sistema dopo aver rimosso il supporto (CD/DVD o pendrive). Al successivo avvio l'account che abbiamo indicato nei passi precedenti sarà amministratore della macchina.

    Offline NT Password & Registry Editor, New Run?
    FIG 12 - Offline NT Password & Registry Editor, New Run?