Come configurare smartphone e PC. Portale informativo
  • casa
  • OS
  • Come scrivere e come eseguire script PowerShell.

Come scrivere e come eseguire script PowerShell.

Sono trascorsi molti anni dal rilascio di Windows 7 e Server 2008.

I programmatori, gli amministratori di sistema e gli utenti esperti hanno trovato molti usi per la finestra blu, simile alla riga di comando.

Gli utenti inesperti, per la maggior parte, non sanno nemmeno cosa sia PowerShell (PS).

Ma gli script per PowerShell possono automatizzare quasi il 100% delle azioni e degli script eseguiti nel sistema operativo tramite la riga di comando e l'interfaccia grafica.

Facciamo conoscenza con le caratteristiche principali di questo programma, prestando maggiore attenzione alle funzioni di creazione ed esecuzione di script (microprogrammi).

Ci sono una miriade di manuali e documentazione per il programma, anche in russo. Obiettivo dell'articolo- fornire all'utente conoscenze concettuali, aggiornare, e se vale la pena conoscere l'interprete e l'esecuzione degli script in esso, ognuno deciderà in modo indipendente.

Che cos'è Windows PowerShell?

PowerShell- un interprete basato su .NET Framework, dotato di un proprio linguaggio di scripting.

Il primo significa che funziona in modalità testo: inserisci il comando e vedi il risultato della sua esecuzione sullo schermo.

Come era in MS-DOS e nelle versioni precedenti di UNIX.

La seconda semplifica enormemente, velocizza e automatizza l'amministrazione, la manutenzione di sistemi, applicazioni, processi e relativi servizi da parte di amministratori e utenti ordinari.

Rispetto ad altri interpreti, PS è diverso:

  • integrazione con. - consente di creare potenti script incorporando il codice del programma in essi;
  • tutti i dati restituiti sono oggetti, non dati di testo/stringa, il che implica il loro trasferimento ad altri script e qualsiasi elaborazione.

PowerShell versione 2 ha le seguenti capacità, alcuni dei quali esamineremo più in dettaglio:

  • La capacità di rappresentare i comandi come cmdlet- vengono lanciati all'interno dell'interprete, altrimenti il ​​comando viene eseguito in un processo separato.
  • Utilizzo di pipeline- sono destinati al trasferimento dei dati da un comando all'altro preservandone la struttura e la tipologia.
  • Trasferimento dati multi-thread integrato in rete con impostazione della priorità e rinnovo della connessione.
  • Supporto per parametri posizionali e denominati.
  • Lavoro in background- chiamata asincrona di comandi e lancio di script su macchine remote.
  • Configurazione di sessioni limitate con client remoti e l'esecuzione di script su di essi.
  • Moduli- un modo per organizzare gli script quando diventano autonomi e vengono eseguiti nel proprio contenitore senza influire sull'ambiente del modulo.
  • La presenza di un gestore di errori.
  • Ambiente grafico per il linguaggio: sintassi, debugger, evidenziazione, completamento automatico dei comandi con supporto Unicode e segnalibri.
  • Aggiunta di punti di interruzione alle linee, comandi, operazioni e variabili per il debug degli script.
  • Blocca e sottoscrivi i commenti.
  • Supporto per la creazione di alias per alcuni cmdlet che vengono convertiti in comandi regolari al momento dell'esecuzione.
  • Creazione di sessioni limitate, dove è possibile eseguire un elenco di comandi rigorosamente specificato e molto altro.

Codice sorgente PowerShell reso disponibile a tutti: Qualsiasi membro della comunità può creare liberamente le proprie estensioni per aumentare la funzionalità dell'interprete della riga di comando.

Puoi iniziare a padroneggiare il linguaggio di scripting integrato senza competenze di programmazione.

È improbabile che sia possibile creare uno scenario complesso, ma quasi tutti riusciranno a eseguire sequenze di azioni primitive.

Sebbene, senza conoscere i concetti di base di PowerShell, è improbabile che tu possa fare qualcosa nella finestra della shell. Cominciamo da loro.

Cmdlet

Cmdlet- una sorta di comandi PS, dietro i quali si nascondono una varietà di funzioni. I comandi integrati nell'interprete sono implementati secondo il principio del "verbo-sostantivo", ad esempio Get-Process (ottenere un elenco di processi). Questa soluzione permette di comprendere l'essenza del comando già dal suo nome (in inglese).

Alcuni cmdlet supportano la ricezione/trasmissione di dati e matrici di informazioni preservandone la struttura e il tipo. Funziona come una pipeline (ne parleremo nella prossima sezione). Indipendentemente da ciò, i cmdlet eseguono ed elaborano gli oggetti in ordine rigoroso.

Qualsiasi API .NET supportata scritta in uno qualsiasi dei linguaggi .NET può essere utilizzata per implementare i cmdlet.

Pertanto, l'utente ha accesso alle funzioni specifiche del programma.

I cmdlet sono in grado di accedere alle informazioni richieste direttamente o tramite percorsi univoci (lettere di unità e percorsi di directory).

Utilizzando i cmdlet, è possibile lavorare con file system e oggetti dell'archivio certificati, applicazioni e servizi installati.

Trasportatore

Quando si creano script non molto primitivi o per eseguire qualsiasi operazione con i dati ottenuti come risultato del lavoro dello script, a volte è necessario eseguire anche alcune azioni.

C'è un trasportatore per questo. Come in UNIX, concatena i comandi passando l'output di un cmdlet all'input di un altro, invariato, preservandone il tipo.

Ciò non richiede alcun contenitore o analisi carattere per carattere delle informazioni.

La struttura delle informazioni trasmesse può includere una funzione. Dopo la fine del lavoro dei comandi combinati, viene chiamata la funzione di conversione delle informazioni in una forma di testo (conversione dei dati in stringhe) utilizzando la formattazione del testo.

script

Nonostante il fatto che la shell possa automatizzare molte azioni, devi inserire i comandi manualmente, il che non è molto conveniente.

Soprattutto quando le stesse operazioni devono essere eseguite continuamente.

E non puoi fare a meno del fattore umano: errori di battitura, errori, pressioni accidentali sui tasti durante la scrittura di righe di codice, la correzione o la digitazione di una riga richiedono un atteggiamento più user-friendly.

Per eseguire catene monotone di azioni in PS, vengono implementati script: file di testo con una sequenza di comandi comprensibile per l'interprete all'interno.

Lo scripting in PowerShell semplificherà e automatizzerà ulteriormente il lavoro e la manutenzione del PC, soprattutto se lo script contiene fork, condizioni, operazioni logiche e loop.

Ma qui “non è tutto oro quel che luccica”: scrivere la propria sceneggiatura o caricarne una già pronta (anche se adattandola leggermente ai propri obiettivi) non funzionerà così facilmente.

Se inMicrosoftera permesso, quanti guai script fatti perPowerShell scritti da truffatori e malvagi per scopi mercenari o teppisti.

Per funzionare in Windows PS, devi passare attraverso il suo controllo di avvio.

Se fallisce e lo script deve essere eseguito, dovrai modificare la configurazione degli oggetti responsabili delle macro di sicurezza.

Prima di usare gli script

Quando si utilizza VBS, sorgono molti problemi, che gli sviluppatori di PowerShell hanno eliminato completamente, se la sicurezza dello scripting non viene ridotta per soddisfare le richieste di scripting dell'utente o per risolvere i problemi relativi al livello di sicurezza del sistema operativo.

L'esecuzione di uno script scaricato sul computer di un utente è un modo semplice ed efficace per distribuire software dannoso o rubare informazioni personali da parte dei criminali informatici.

Tutto accade a causa dell'ignoranza elementare del contenuto del file di script (ps1) e il desiderio di risolvere rapidamente i loro problemi a spese del lavoro degli altri. Gli oggetti che controllano il livello di sicurezza degli script creano un ambiente in cui è impossibile eseguire uno script.

L'avvio intenzionale delle macro avviene dopo aver modificato il livello di sicurezza, se l'utente dà il via libera, rendendosi conto di ciò che sta facendo e sapendo con certezza cosa c'è nel file * .ps1.

A causa dell'inconveniente della configurazione della protezione per le persone che devono implementare ed eseguire i propri script, è possibile modificare la configurazione.

Qui puoi ridurre al minimo la protezione e manovrare ragionevolmente tra la capacità di aprire fori per la penetrazione e la comodità di lavorare con PowerShell.

La shell ha tre livelli di sicurezza:

  • i file con estensione ps1 non vengono identificati dal sistema come eseguibile e designato come sconosciuto o come testo (apri facendo doppio clic nell'editor di testo utilizzato per impostazione predefinita sul computer);
  • la shell ti permette di eseguire gli script dopo averne specificato il percorso completo, i file di script nella directory corrente non vengono cercati, rendendo impossibile l'esecuzione di macro che si trovano nella directory corrente;
  • eseguendo lo script Execution Policy incorporato responsabile dell'aggiunta degli script richiesti all'elenco degli script consentiti.

Non pensare nemmeno di cambiare la configurazione, abbassandolo almeno al secondo livello, senza familiarizzare con le basiPowerShellfino a quando non inizi a capire almeno superficialmente il contenuto del file *.ps1.

C'è anche il concetto di una politica di esecuzione progettata per prevenire l'esecuzione accidentale di script. Sono disponibili fino a cinque impostazioni dei criteri di avvio:

  • limitato - installato per impostazione predefinita, vengono eseguiti solo script firmati da Microsoft che consentono di ottenere informazioni sulla shell hardware e software del computer;
  • file cancellati firmati- tutte le macro possono essere eseguite, ma i file inviati per posta devono essere firmati;
  • firmato digitalmente da una fonte attendibile- vengono eseguiti tutti gli script firmati;
  • illimitato- lanciare eventuali macro;
  • circonvallazione- sono destinati ai programmatori che creano il proprio sistema di sicurezza e non utilizzano quello presentato nella shell.

È possibile controllare lo stato corrente della policy di avvio utilizzando il comando "Get-ExecutionPolicy".Qualunque sia la politica di sicurezza, l'utente non sarà in grado di eseguire uno script che contiene comandi per i quali non dispone di privilegi sufficienti per l'esecuzione.

Avvio di PowerShell

È tempo di passare dalla teoria alla pratica. Quindi, per eseguire gli script, è necessario ottenere una firma digitale o (la seconda opzione è più semplice).

Esistono diversi modi per richiamare una finestra di PowerShell.

Si presenta in due forme:

  • consolle classica;

  • PowerShell ISE - aggiunge il supporto per schede, sintassi, aiuto contestuale, contesto e menu principale, che facilita notevolmente il lavoro nell'interprete.

Inizio

Il modo più semplice per chiamare PS è tramite Start.

  1. Apri il menu(in Windows 7, fare clic su "Tutti i programmi").
  2. Vai alla directory di Windows PowerShell e fare clic sull'icona desiderata.

Riso. 6 - Avvio di PS tramite la finestra di dialogo Esegui

Vinci + X

In Windows 10 PS può essere chiamato dal menu WinX. Il fatto è che per impostazione predefinita, facendo clic sul comando "Riga di comando" aperto CMD. Può essere sostituito con PowerShell.

Apri le "Proprietà" della barra delle applicazioni, nella scheda "Navigazione", metti un segno di spunta accanto all'unica opzione e salva le impostazioni.

Puoi chiamare PowerShell tramite la riga di comando scrivendo "powershell" al suo interno o eseguendo il file eseguibile lungo il percorso:% WINDIR% \ Sistema32 \ WindowsPowerShell \ v1.0 per sistemi a 32 bit e at% WINDIR% \ syswow64 \ WindowsPowerShell \ v1.0 per Windows a 64 bit di qualsiasi edizione.

Riso. 8 - Avvia PS dalla directory in cui è memorizzato il suo file eseguibile

Utilizzando gli script R, puoi raccogliere rapidamente e gratuitamente dati dall'API di vari servizi o piattaforme pubblicitarie e scriverli nel database. Ma se usi gli script regolarmente, ha senso eseguirli manualmente ogni volta?

Spiegherò come impostare il lancio Script R a intervalli regolari nel sistema operativo Windows.

1. Come aggiungo il percorso della console R alla variabile d'ambiente PATH?

PATH è una variabile d'ambiente per sistemi operativi simili a Unix, DOS, OS/2 e Microsoft Windows, che è un insieme di directory in cui si trovano i file eseguibili. Fondamentalmente, ogni processo in esecuzione o sessione utente ha la propria variabile PATH.

Questo manuale si applica ai sistemi operativi Windows 8 e 10, ma puoi trovare facilmente guide dettagliate per qualsiasi altra versione di Windows.
1.1. Nella riga "Cerca", trova "Sistema (Pannello di controllo)" e fai clic sul collegamento "Impostazioni di sistema avanzate".

1.2. Nella finestra delle proprietà del sistema, fare clic sul pulsante "Variabili d'ambiente...".

1.3. Nella sezione Variabili d'ambiente, fare clic sulla variabile PATH e fare clic su Modifica. Se la variabile PATH non esiste, fare clic su Nuovo.

1.4. Aggiungi il percorso alla cartella con il file “ R.exe».

Un file bat è essenzialmente simile a un file exe, ma il suo codice è più semplice e consiste in alcune righe di comando.

È abbastanza facile creare un file bat. Puoi scrivere il comando di avvio in un normale file di testo con estensione TXT, salvarlo e modificare l'estensione in " .bat". Descriverò un altro modo: creare un file bat usando il Blocco note ++ gratuito.

2.1. Apri Notepad++ (puoi scaricarlo dal link).

2.2. Immettere il seguente comando:

@echo off R CMD LOTTO C: \ R \ myscript.R

Squadra " @eco spento"Disabilita la visualizzazione dei messaggi sulla riga di comando quando lo script è in esecuzione, puoi modificare questo comando in" @echo su"E osserva l'esecuzione della sceneggiatura nel corso del suo lavoro.

Squadra " R CMD LOTTO"Avvia l'esecuzione dello script R.

Nella seconda riga, invece di " C: \ R \ mioscript.R " scrivi il percorso del tuo file di script R.

Di conseguenza, il file sarà simile a questo:

2.3. Salva il file di testo creato con l'estensione BAT. Per fare ciò, nel menu Notepad ++, seleziona "File" - "Salva con nome" - "File batch (bat, cmd, nt)".

Se non vuoi che la finestra della riga di comando appaia sullo schermo quando lo script R viene eseguito automaticamente, compila il tuo file bat in exe - in questo caso, lo script verrà eseguito in background e non interferirà con te.

3.1. Scarica l'utility gratuita "Bat To Exe Converter" dal link.

3.2. Specificare il file bat da compilare, nonché il percorso e il nome del futuro file exe.

3.3. Nell'area Visibilità applicazione, impostare l'interruttore su Applicazione invisibile.

3.4. Se lo desideri, imposta un'icona per il tuo file.

Per installare un'icona, vai alla scheda "Informazioni sulla versione" e usa il pulsante "..." per selezionare l'icona desiderata nel campo "File icona".

Come icona, puoi utilizzare qualsiasi immagine nel formato ICO o disegnarla tu stesso in un editor online gratuito.

Fare clic sul pulsante Compila.

4. Configura l'Utilità di pianificazione di Windows

Il passaggio finale della configurazione consiste nell'aggiungere l'attività all'Utilità di pianificazione di Windows.

Windows Task Scheduler è un'utilità integrata (analoga a Linux CRON), con la quale è possibile pianificare in un momento specifico con condizioni specificate:

  • lanciare qualsiasi programma;
  • invio di posta elettronica;
  • visualizzare un messaggio specifico.

4.1. Per aprire l'utilità di pianificazione, copiare il percorso " % windir% \ system32 \ taskschd.msc / s».

4.2. Sul lato destro dell'utilità di pianificazione, seleziona "Crea attività ...".

4.3. Nella scheda Generale della finestra di dialogo Crea attività, immettere un titolo e, se necessario, una breve descrizione.

4.4. Nella scheda "Trigger", configura la pianificazione del lancio dello script: fai clic su "Crea" e imposta, ad esempio, lo script verrà ripetuto ogni lunedì alle 12:45.

Questo completa il processo di configurazione dell'avvio pianificato degli script R. Se hai fatto tutto correttamente, una nuova attività apparirà nell'elenco.

Conclusione

Con questa guida, la configurazione della riproduzione automatica richiederà meno di dieci minuti e ti farà risparmiare tempo in futuro.

Algoritmo delle azioni:

  1. Nella variabile di ambiente PATH, scrivi il percorso alla console R.
  2. Creare uno script R che eseguirà le azioni desiderate (ad esempio, salvare il risultato in un file CSV o scrivere in un database).
  3. Crea un file bat, che conterrà il percorso dello script R.
  4. Compila il tuo file bat in un exe in modo che venga eseguito in background e non interrompa il tuo lavoro.
  5. Nell'Utilità di pianificazione di Windows, aggiungi un'attività ricorrente per eseguire il file bat e imposta un intervallo di tempo specifico.

Elaborare enormi quantità di dati, aggregarli e trasferirli in qualsiasi database è semplice e veloce, se hai organizzato correttamente il tuo lavoro.

Se hai intrapreso solo di recente il percorso della programmazione e non hai nemmeno provato a giocare con il sistema operativo installato, la manipolazione con gli script può sollevare ragionevoli domande di necessità e convenienza. Tuttavia, anche se ometti il ​​semplice fatto che ti aiutano a capire meglio come funzionerà il sistema operativo in futuro durante la creazione di applicazioni, lo scripting può essere un'abilità estremamente utile.

Passeremo a PowerShell per eseguire i seguenti script. Qualsiasi amministratore di sistema (di professione o in fondo) conosce le sue capacità e lo utilizza periodicamente, per tutti gli altri è solo un'interfaccia a riga di comando o una parola straniera. Su risorse popolari, puoi trovare molte idee su come utilizzare PowerShell per divertimento e affari, ma qui esamineremo solo semplici script che ti aiuteranno a diventare sempre più veloce.

Spegnimento e riavvio

Quindi, l'operazione più semplice è spegnere il computer. Apriamo il taccuino, registriamo:

spegnimento -s -t 0

Salva il file come * .cmd (* è il nome del tuo file, ad esempio shutdown.cmd) e non dimenticare di selezionare "tutti i file" nel tipo. Tutto, il file eseguibile all'avvio spegnerà il tuo computer. "-S" in questo caso significa arresto, sostituire con "-r" - ottenere un riavvio. "-T" è un timer, lo abbiamo impostato su 0 secondi, ma se lo imposti su 60, ottieni uno spegnimento dopo 60 secondi.

Rimuovi inutili

In vari assiemi preinstallati su un computer o laptop, potresti imbatterti in molti pacchetti di applicazioni assolutamente inutili. Rimuoverli usando uno script è facile come sgusciare le pere:

get-appxpackage -name * APPNAME * | remove-appxpackage

Come puoi immaginare, * APPNAME * è il nome di un componente aggiuntivo poco interessante. Sì, puoi rimuovere questi pacchetti in modo standard o tramite programmi speciali, ma puoi creare uno script che li rimuoverà tutti con un doppio clic.

Gestiamo i processi

Esistono due comandi utili in PowerShell che possono aiutarti a gestire i mulini a vento (processi che rallentano le prestazioni). Puoi visualizzarli sullo schermo semplicemente scrivendo:

o informazioni su un servizio specifico con il nome in codice * NOME * (questo luogo dovrebbe essere il nome del servizio di interesse):

Get-Service * NOME *

Ma questo può essere fatto nel task manager, ma può essere davvero utile creare un file che, al clic, chiuderebbe tutti i processi con un maggiore consumo di risorse (browser, antivirus, ecc.). Per fare ciò, usa il comando Stop-Service:

Stop-Service -Nome * ANTIVIRUS *

Stop-Service -Nome * BROWSER *

I nomi sostitutivi sono indicati in * *.

Rinominare un gruppo di file

Un altro problema fastidioso: hai copiato le immagini dalla fotocamera o dal telefono. Un enorme mucchio di foto, che sono chiamate dello stesso tipo come HGNMD034, dove HGNMD è il nome di una directory comune che combina file, ad esempio, catturati in un giorno. Per rendere più gradevole il nome di questi file o per poter combinare più cartelle senza creare confusione cronologica a causa dei nomi, è possibile utilizzare lo script di ridenominazione batch:

$ percorso = "$ comp \ desktop \ viaggio \ russia"
$ filtro = "* .jpg"
get-childitem -percorso $ percorso -filtro $ filtro |
rename-item -newname ($ _. name -replace "HGNMD", "RUSSIA")

Nella prima riga, tra virgolette, inserisci il percorso esatto dei file. La seconda riga contiene l'estensione dei file da modificare. Nell'ultima riga, invece di "HGNMD" - il generale nei nomi dei file da sostituire con qualcosa, invece di "RUSSIA" - il nome che si desidera assegnare. Se questo script viene nuovamente salvato come file eseguibile, operazioni simili dello stesso tipo richiederanno solo pochi secondi del tuo tempo.

Alla ricerca di file

Un'altra semplice attività di PowerShell consiste nel trovare i file in una directory. In questo caso, considera la ricerca di file di registro:

Get-Childitem C: \ Windows \ *. Log

Oppure un esempio leggermente più complesso, quando la ricerca verrà eseguita anche nelle sottocartelle:

Get-ChildItem C: \ Windows \ * -Include * .log -Recurse -Force

Questo è un record leggermente più corretto e completo, dove "Includi" - indica la parte da cercare, "Ricorrenza" - per cercare nelle sottodirectory, "Forza" - la ricerca include file di sistema e nascosti.

riferimento

Quindi, abbiamo più o meno capito i principi generali del funzionamento di PowerShell. Se qualcosa non è chiaro, fare riferimento alle informazioni della guida come segue:

Servizi di assistenza

Questo è il comando che visualizzerà tutti i comandi disponibili con una breve descrizione. Vuoi maggiori dettagli? Niente potrebbe essere più facile:

Get-Help -Nome * CMDLET *

Dove invece di * CMDLET * inserire qualsiasi comando di interesse.

Trovare dati

Passiamo ora a semplici script descritti da comandi leggermente più complessi. Ad esempio, utilizzando PowerShell, puoi recuperare quasi tutte le informazioni su hardware e accessori. In alternativa, ecco uno script per valutare il livello di carica della batteria:

Aggiungi tipo -AssemblyName System.Windows.Forms
.GetConstructor ("NonPublic, Instance", $ null, @ (), $ null) .Invoke ($ null)

Architettura del processore del computer remoto:

Assembly.GetType ("System.Management.Automation.PsUtils"
) .GetMethod ("GetProcessorArchitecture", 40
).Invoke ($ null, @ ())

A volte un compito importante è controllare i diritti di amministratore dell'utente corrente. Ecco un semplice metodo PowerShell:

Assembly.GetType ("System.Management.Automation.Utils"). GetMethod (
"IsAdministrator", 40) .Invoke ($ null, @ ())

Soffermiamoci su questo per ora. Come probabilmente avrai visto, PowerShell non è lo strumento più complesso, ma molto utile in grado di eseguire sia le operazioni più semplici che quelle piuttosto complesse. Tuttavia, PowerShell non è l'unico strumento di scripting per Windows. Ma ne parleremo più avanti la prossima volta.

Esistono diversi modi per eseguire lo script, di seguito i principali:

  1. Avvia PowerShell ed esegui lo script al suo interno (inserisci il percorso del file e il nome del file, ad esempio, in questo modo: C: \ Scripts \ test.ps1, oppure vai nella cartella dello script con il comando cd C: \ Scripts ed eseguilo con il comando.\test.ps1) La shell può essere trovata e lanciata in vari modi. Un modo è attraverso il menu di avvio. Per Windows 7: devi andare su "Tutti i programmi" - "Accessori" - "Windows PowerShell" e avviare la shell "Windows PowerShell". Per Windows 10: devi trovare il gruppo con la lettera "W" e in esso troverai "Windows PowerShell".
  2. Esegui "Windows PowerShell ISE"è un programma: un ambiente di sviluppo che consente di modificare ed eseguire il debug di script PowerShell, che è anche per impostazione predefinita insieme a PowerShell stesso. Dopo averlo avviato, devi solo fare clic sul pulsante "Apri" o andare al menu File - Apri e selezionare lo script desiderato, quindi premere F5 o il pulsante "Esegui script". Puoi trovare Windows PowerShell ISE nello stesso posto come PowerShell - nel menu "Start" ...
  3. Esegui la riga di comando standard e scrivici dentro:
    powershell -file<имя_скрипта> (esempio: powershell -file myscript.ps1)

Se non hai mai eseguito script PowerShell prima, molto probabilmente riceverai un messaggio: Impossibile caricare il file<имя_скрипта>, poiché l'esecuzione di script è vietata per questo sistema. Inserisci "get-help about_signing" per ulteriori informazioni. Ciò è dovuto al fatto che per motivi di sicurezza e per prevenire l'esecuzione accidentale di codice dannoso, tutti gli script devono essere firmati digitalmente.

Come posso consentire l'esecuzione di script PowerShell non firmati?

1. In PowerShell, prima di eseguire lo script, esegui il comando per abilitare l'esecuzione di script non firmati per la sessione di shell corrente:

Set-ExecutionPolicy RemoteSigned - Processo ambito

2. All'avvio dalla riga di comando standard utilizzare il parametro -executionpolicy, ad es. eseguire lo script in questo modo:

<имя_скрипта>

Entrambi i metodi impostano i criteri solo per la sessione corrente, mentre i criteri di sicurezza per l'esecuzione degli script PowerShell scritti nel registro non verranno modificati e rimarranno invariati. Se si desidera modificare "in modo permanente" la politica di sicurezza dell'esecuzione dello script, utilizzare questo metodo:

3. Lascia correre per sempre: esegui PowerShell come amministratore, quindi esegui il comando:

Set-ExecutionPolicy RemoteSigned

Nota: Se lo script è stato scaricato da Internet, per evitare la richiesta di conferma dell'avvio, è necessario utilizzare Bypass anziché RemoteSigned, disabilitando completamente eventuali richieste e avvisi.

Come posso eseguire uno script PowerShell in background?

Per fare ciò, è sufficiente utilizzare il parametro di avvio -WindowStyle, che può assumere i seguenti valori: Normale, Ridotto a icona, Ingrandito e Nascosto. Pertanto, per eseguire uno script non firmato in background, è necessario eseguire il comando:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file<имя_скрипта>

Puoi anche aggiungere -NonInteractive se lo desideri in modo che lo script non faccia domande. Pertanto, lo script verrà eseguito in modo invisibile all'utente. Fai attenzione usando questo metodo.

Esecuzione di uno script PowerShell con parametri

In realtà, l'avvio dovrebbe essere eseguito come se si stesse eseguendo un normale programma o un file bat con parametri. Ad esempio, per eseguire uno script con i parametri del comando, puoi scrivere il seguente comando:

powershell -executionpolicy RemoteSigned -file<имя_скрипта>param1 param2 "un altro parametro di testo"

Nello script stesso, puoi ottenere questi parametri in questo modo:

Param ($ var1, $ var2, $ var3) echo $ var1, $ var2, $ var3

In PowerShell ISE, puoi eseguire uno script con parametri allo stesso modo, usando il riquadro dei comandi.

Come posso eseguire uno script PowerShell utilizzando un collegamento?

Ci sono due modi per portare a termine questo compito:

  1. Crea un file bat/cmd in cui scrivere il comando per eseguire lo script (hai visto i parametri sopra)
  2. Crea un collegamento a PowerShell, che può essere trovato nella cartella c: \ Windows \ System32 \ Windows PowerShell \ v<версия>\ e aggiungi i parametri necessari nelle proprietà del collegamento nel campo "Oggetto".

Quindi, ad esempio, per eseguire uno script powershell quando un utente accede, puoi semplicemente creare un collegamento come descritto al punto 2 e posizionarlo in avvio. Inoltre, la creazione di un collegamento in uno dei modi precedenti renderà più semplice eseguire lo script come amministratore o come qualsiasi altro utente come un normale programma.

Il linguaggio di scripting PowerShell è uno strumento piuttosto potente per risolvere vari problemi, ma può essere utilizzato non solo per cose buone, ma anche per danni, quindi usalo con saggezza;)

Spesso gli utenti avanzati e persino gli amministratori, dopo aver installato un nuovo sistema operativo, configurando tutti i tipi di firewall, pensano che ora il sistema sia protetto in modo affidabile e che tu possa rilassarti sullo schienale della tua sedia. Ma, quando si scrivono script per questi nuovi sistemi operativi, è necessario eseguirli correttamente. Toccando il tema degli script, risponderemo alle domande più frequenti sul loro lancio.

Puramente in teoria, come eseguire uno script in Windows in MS JScript (MyScript.js) come servizio Windows? Se, ad esempio, creiamo una sezione nel registro e nel ramo. HKEY_LOCAL_MASHINE \ SYSTEM \ CurrеntСontrоlSet \ sеrvices \ MyServicе per creare tutti i parametri richiesti, sarà necessario registrare il lancio tramite cmd CScript in questi parametri o tramite doppio lancio come: "C: \ Windows \ System32 \ WScript.exe" o in qualche modo più semplice Risulterà essere qualcosa come una modalità nascosta e il processo wscript.exe non verrà visualizzato esplicitamente in Taskmanager.

Spesso, quando si scrive JavaScript, è necessario eseguire automaticamente un download. Come eseguire lo script all'avvio?

  • alla fine del file js, effettuare una chiamata alla funzione richiesta.
  • nel testo del file menu.js, scrivi la funzione page_load():

L'utilizzo di due metodi contemporaneamente complicherà notevolmente la manutenzione e la comprensione del codice.

  • script di shell - un insieme di comandi di sistema scritti in un semplice file di testo. Non c'è niente di particolarmente complicato qui, solo comandi che possono essere facilmente inseriti nella riga di comando della shell di sistema o nel terminale. In futuro, lo script verrà lanciato senza complicazioni.
  • Se è necessario eseguire uno script vbs e se non sono state apportate modifiche al gestore con l'estensione ".vbs", dopo aver fatto doppio clic sul file con questa estensione, lo script verrà avviato. Tutto dovrebbe funzionare subito. Tuttavia, dalla shell grafica, la riga di comando non avvierà solo vbs, ciò richiede l'uso dell'interprete cscript
  • Per eseguire uno script sql utilizzando C#, è necessario connettere l'assembly SMO e definire Servernеction.ExeutеNоnQuеry (String script). Il metodo ExcuteNonQuery() accetta solo un parametro stringa, quindi prima devi leggere il file .sql in una variabile stringa. ServerConnection.ExecutеNonQuеry () effettua una richiesta che non restituirà un set di dati di risultato.
  • Per eseguire uno script Python, è necessario passare il nome dello script all'interprete. Innanzitutto, scriviamo nella prima riga: errore di sintassi. Quindi scriviamo senza "$" - errore di sintassi. È solo il nome del file - errore di sintassi. E l'ultima cosa che deve essere registrata è il percorso del file - errore di sintassi.
  • Ora, come eseguire uno script php tramite Denwer. La maggior parte dei neofiti commette sempre un errore. Sembra che sia stato fatto assolutamente tutto correttamente, vengono create le cartelle necessarie, Denwer viene riavviato e, sembra, alla fine, non resta che chiamare inequivocabilmente il file in azione. Ma anche qui compare un fastidioso errore. L'utente riapre il file semplicemente in un normale browser (trascinando e rilasciando il file nel browser o facendo doppio clic con il mouse). Queste azioni possono essere facilmente notate dal nome dell'indirizzo nella barra degli indirizzi. Con tali azioni, verrà scritto qualcosa come: file: // Z: \ home \ mysite.local \ www \ sсriрt.рhр. Ma sarà corretto eseguire il tuo script se lo inserisci nell'indirizzo dell'host virtuale. Direttamente nella barra degli indirizzi del browser, devi inserire: http: //mysite.local/script.php. Dopo questo metodo di input, lo script verrà eseguito senza problemi e visualizzerà il risultato corretto, che dovrebbe essere restituito.

Principali articoli correlati