PowerShell: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gsdefender2 (discussione | contributi)
+pezzetto di testo
fix "code"
 
(159 versioni intermedie di 94 utenti non mostrate)
Riga 1:
{{Software
{{T|lingua=inglese|argomento=informatica|data=novembre 2006}}
|Nome = PowerShell
'''Windows PowerShell''', noto precedentemente come '''Microsoft Shell''' o '''MSH''' (o col nome in codice '''Monad''') è una [[shell]] caratterizzata dall'[[interfaccia a linea di comando]] (CLI) e da un [[linguaggio]] [[script]], sviluppata da [[Microsoft]]. Tale prodotto è basato sulla [[programmazione a oggetti]] e sul framework [[Microsoft .NET]].
|Logo =
|Screenshot = Windows PowerShell 1.0 PD.png
|Didascalia = Windows Powershell in [[esecuzione (informatica)|esecuzione]] su [[Windows 7]]
|Sviluppatore = [[Microsoft Corporation]]
|UltimaVersione = <!-- Elemento Wikidata -->
|DataUltimaVersione = <!-- Elemento Wikidata -->
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
|SistemaOperativo = Windows
|Linguaggio =
|Genere = terminale
|Licenza = [[Licenza MIT]] dalla versione 6.0.0
|Lingua =
|SoftwareLibero = si
|SistemaOperativo2 = macOS
|SistemaOperativo3 = Linux
}}
 
'''PowerShell''', noto inizialmente come '''Microsoft Shell''', '''MSH''' o col nome in codice '''Monad''' e poi come '''Windows''' '''PowerShell''', è una [[shell (informatica)|shell]] caratterizzata dall'[[interfaccia a riga di comando]] (CLI) e da un [[linguaggio di scripting]], sviluppata da [[Microsoft]], basato sulla [[programmazione a oggetti]] e sul ''[[framework]]'' [[Microsoft .NET]].
Windows PowerShell 1.0 è disponibile per il download dal [http://support.microsoft.com/kb/926139 sito web Microsoft].
 
Microsoft intendeva in origine rilasciaredistribuire PowerShell insieme con [[Windows Vista]], ma in seguito ha definito delle date di rilasciodistribuzione diverse per PowerShell. WindowsNecessita PowerShelldella costituisceversione la2.0 basedel dell'interfaccia[[.NET amministrativaFramework]] ed perè supportato su [[MicrosoftWindows ExchangeXP]], [[Windows Server|Microsoft Exchange2003]], Windows Vista, [[Windows Server 20072008]], dove[[Windows qualsiasi7]], operazione[[Windows è8]] svoltae tramite[[Windows linea10]] didisponibile comandonelle edizioni [[x86]], [[x64]] e l'interfaccia[[Itanium GUI2|Itanium]]. èEra posizionatapresente in versione 2 su unoWindows strato7 superioredal aquale dettinon comandiè disinstallabile. L'installazione di Powershell su [[Windows 2000]] è possibile (previa installazione del framework), ma il sistema che ne risulta è completamente non standard e non supportato.
 
Costituisce inoltre la base dell'interfaccia amministrativa per [[Microsoft Exchange Server|Microsoft Exchange Server 2007]] dove qualsiasi operazione è svolta tramite riga di comando e l'interfaccia [[GUI]] è posizionata su uno strato superiore a detti comandi.
PowerShell necessita della versione 2.0 del [[.NET Framework]] ed è supportato su [[Windows XP]], [[Windows Server 2003]], [[Windows Vista]] e [[Windows Server "Longhorn"]], disponibile nelle edizioni [[x86]], [[x64]] ed [[Itanium 2|Itanium]].
 
Inizialmente noto come Windows PowerShell è stato reso ''[[open source]]'' e multi piattaforma il 18 agosto 2016 con l'introduzione di PowerShell Core. Il primo è costruito su .NET Framework, il secondo su .NET Core.
==Storia==
Ogni rilascio di [[MS-DOS]] e [[Microsoft Windows]] ha sempre incorporato un'interfaccia a riga di comando: [[command.com]] nelle versioni basate su [[MS-DOS]], [[cmd.exe]] in quelle basate su [[Windows NT]]: non erano, però, in grado di riprodurre, o di automatizzare tutte le funzioni amministrative disponibili tramite [[interfaccia grafica|GUI]], sebbene la situazione sia migliorata con [[Windows Server 2003]]. Ciò era dovuto ad una combinazione di limitazioni intrinseche agli strumenti equivalenti a linea di comando o al fatto che Microsoft non ha fornito, per lungo tempo, utility affidabili di questo tipo.
 
== Storia ==
Inoltre, a differenza degli ambienti [[Unix]], nè command.com nè cmd.exe rispettano lo standard [[POSIX|POSIX.2]]. [[Microsoft Services for UNIX|Services for UNIX]] include una [[Korn shell|pdksh]] che rispetta tale standard, ma sia questa che altre shell [[UNIX]] che sono disponibili non sono in grado di compiere molti compiti di routine, che restano legati all'interfaccia grafica di Windows. Sebbena la suite di servizi per UNIX faccia ora parte di Windows Server 2003 R2, e sarà inclusa in alcune edizioni di Windows Vista, essa era, in passato, resa disponibile come componente aggiuntivo a pagamento, cosa che ne impedì l'adozione su larga scala.
Ogni distribuzione di [[MS-DOS]] e [[Microsoft Windows]] ha sempre incorporato un'Interfaccia a riga di comando: [[command.com]] nelle versioni basate su [[MS-DOS]]; [[cmd.exe]] in quelle basate su [[Windows NT]]: non erano, però, in grado di riprodurre, o di automatizzare tutte le funzioni amministrative disponibili tramite [[interfaccia grafica|GUI]], sebbene la situazione sia migliorata con [[Windows Server 2003]]. Ciò era dovuto ad una combinazione di limitazioni intrinseche agli strumenti equivalenti a riga di comando o al fatto che Microsoft non ha fornito, per lungo tempo, [[Utility (informatica)|utility]] affidabili di questo tipo.<ref>{{Cita news|lingua=it|autore=|url=https://www.wired.it/gadget/computer/2017/01/17/ms-dos-ancora-vivo/|titolo=Il DOS è ancora vivo, nascosto dentro Windows 10 - Wired|pubblicazione=Wired|data=2017-01-17|accesso=2017-02-04}}</ref>
 
Inoltre, a differenza degli ambienti [[Unix]], né command.com né cmd.exe rispettano lo standard [[POSIX|POSIX.2]]. [[Microsoft Services for UNIX|Services for UNIX]] include una [[Korn shell|pdksh]] che rispetta tale standard, ma sia questa che altre shell UNIX che sono disponibili non sono in grado di compiere molti compiti di routine, che restano legati all'interfaccia grafica di Windows. Sebbene la suite di servizi per UNIX fosse stata integrata in Windows Server 2003 R2 e poi inclusa anche in alcune edizioni di Windows Vista, in un tempo precedente essa era resa disponibile come componente aggiuntivo a pagamento (ad esempio il ''resource kit'' di Windows 2000) impedendone di fatto l'adozione su larga scala.
Gli [[Utente (informatica)|utenti]] sono stati allontanati dalla mancanza di documentazione adeguata delle funzionalità a linea di comando. Per covnerso, molte applicazioni grafiche in Unix sono solo [[wrapper]] per tool a riga di comando, che sono corredati di documentazione.
 
Gli [[Utente (informatica)|utenti]] erano scoraggiati dall'uso delle funzionalità a riga di comando a causa della mancanza di documentazione esaustiva. Per contro, anche molte applicazioni grafiche in Unix erano sostanzialmente dei ''[[wrapper]]'' per tool a riga di comando, comunque corredati di documentazione.
<!--
==Storia==
 
[[Microsoft]] tentò quindi di porre rimedio ad alcune di tali limitazioni introducendo nel 1998 [[Windows Script Host]], in concomitanza con la distribuzione di [[Windows 98]]. Si trattava di un nuovo livello interprete di istruzioni, che potevano essere espresse con un buon numero di [[linguaggio di scripting|linguaggi di scripting]], al fine di controllare le applicazioni. Tuttavia, lo ''Script Host'' aveva anche significative limitazioni: non era integrato con la shell, la sua documentazione non era molto accessibile, e fu presto considerato un pericolo per la sicurezza del sistema, dopo che diversi [[Virus (informatica)|virus]] misero in luce la debolezza sostanziale del suo modello di sicurezza.
[[User (computing)|Users]] have also been hindered by a lack of adequate documentation of command line functionality. By contrast, many GUI applications in Unix are only [[wrapper]]s for documented command-line tools.
 
Windows Server 2003 e alcune versioni di Windows XP includono un host per script a riga di comando denominato Cscript.exe (si tratta, essenzialmente, di una porzione autonoma del Windows Script Host di cui sopra), non integrato con la shell preesistente (cmd.exe). Questi [[sistema operativo|sistemi operativi]] forniscono anche altre righe di comando ''[[ad hoc]]'' (per esempio [[netsh]]), anch'esse non del tutto integrate.
Microsoft attempted to address some of these shortcomings by introducing the [[Windows Script Host]] in 1998 with [[Windows 98]]. The Windows Script Host was a new scripting layer which could implement a variety of [[scripting language]]s to control applications. However, the Script Host had its own deficiencies. It was not integrated with the shell, its documentation was not very accessible, and it quickly gained a reputation as a system [[Vulnerability (computer science)|vulnerability]] after several high-profile [[computer viruses]] exploited substantial weaknesses in its security provisions.
 
Una limitazione fondamentale all'automatizzazione dei task in Windows era il fatto che le sue interfacce di amministrazione native erano aperte ai tool grafici proprietari di Microsoft, e ad ogni interfaccia di script che Microsoft poteva scegliere di fornire. Poiché la GUI costituiva l'interfaccia primaria, risultava difficile fornire ''wrapper'' in grado di essere inseriti in script - una situazione che è esattamente agli antipodi di quella della maggior parte delle implementazioni di [[UNIX]], in cui una riga di comando in grado di eseguire degli script forniva le funzionalità base.
Windows Server 2003 and certain versions of Windows XP included a command-line-based script host called Cscript.exe (essentially just a portion of the Windows Script Host introduced earlier), but it was not integrated into the existing shell (cmd.exe). These [[operating system]]s provided other ''[[ad hoc]]'' CLIs as well ([[netsh]], for example), which were not fully integrated either.
 
Microsoft progettò PowerShell per rendere meno insormontabili questi problemi, e per rendere meno oneroso il processo di sviluppo di nuove applicazioni grafiche e a riga di comando integrando un linguaggio di scripting più sicuro in una nuova shell di comando estendibile, che fosse in grado di svolgere e automatizzare gli stessi compiti amministrativi fondamentali che vengono svolti tramite interfaccia grafica in Windows. L'interfaccia utente di gestione di [[Microsoft Exchange Server|Exchange Server 2007]], per esempio, si basa su PowerShell. Nella maggior parte dei compiti di tutti i giorni, PowerShell può sostituire cmd.exe e Windows Script Host (WSH). Tuttavia, per motivi di retrocompatibilità, sia cmd.exe che WSH continueranno a essere supportati da Windows. Microsoft si è impegnata a costruire i tool grafici del futuro sopra PowerShell, assicurandosi che le funzionalità amministrative di base continuino a essere utilizzabili tramite riga di comando, sulla falsariga di un sistema operativo Unix.
A fundamental limitation with Windows' automation was the fact that its native administrative interfaces were open to Microsoft's proprietary GUI-based tools, and any scriptable interfaces Microsoft chose to provide. The GUI was the primary interface, and it proved difficult to provide scriptable "wrappers;" this is exactly opposite to most Unix implementations, where the scriptable command-line provided the base functionality, with any GUI simply wrapping around it.
 
Microsoft ha pubblicato la seconda [[Versione beta|beta]] pubblica di Monad l'11 settembre 2005, mentre la terza è stata distribuita il 10 gennaio 2006.
Microsoft designed PowerShell to mitigate these problems &mdash; and to alleviate their onus of developing discrete GUI and CLI applications &mdash; by integrating a more secure scripting language into a new, extensible command shell capable of performing and automating the same core administrative tasks as [[graphical user interface]]s typically have in Windows. Exchange Server 2007's management user interface, for example, is built on top of PowerShell. In most everyday tasks, PowerShell can be used in place of CMD.EXE and Windows Script Host (WSH). However, for backward-compatibility purposes both CMD.EXE and WSH will continue to be supported by Windows. Microsoft has committed to building future GUI tools on top of PowerShell, ensuring that the core administrative functionality remains scriptable, along the lines of a Unix operating system.
 
Microsoft ha annunciato il 25 aprile 2006 che WSH avrebbe cambiato nome in Windows PowerShell, e sarebbe divenuta una parte significativa della sua offerta di strumenti di gestione del sistema<ref name="powershell">{{cita web|url=https://blogs.msdn.com/powershell/archive/2006/04/25/583344.aspx|titolo=Windows PowerShell (Monad) Has Arrived|anno=25 aprile 2006|accesso=26 aprile 2006|cognome=Snover|nome=Jeffrey|sito=Windows PowerShell team blog|editore=MSDN|lingua=en}}</ref>.
Microsoft published the second "Monad" public [[Development stage#Beta|beta release]] on [[September 11]] [[2005]] and released Beta 3 on [[January 10]] [[2006]].
 
La prima release candidate di PowerShell è stata distribuita contestualmente all'annuncio.
Microsoft announced on [[April 25]] [[2006]] that MSH was renamed to Windows PowerShell, positioning it as a significant part of their management technology offerings<ref name="powershell">{{cite web
La seconda release candidate è stata distribuita il 26 settembre 2006.
|url=http://blogs.msdn.com/powershell/archive/2006/04/25/583344.aspx
La versione 1.0 è stata distribuita il 14 novembre 2006.
|title=Windows PowerShell (Monad) Has Arrived
La versione 2.0 è presente di serie su [[Windows 7]].
|year=[[April 25]] [[2006]]
La versione 3.0, disponibile per Windows 7 SP1 e Windows 2008 Server R2 SP1 è di serie su Windows 8 e Windows Server 2012, come parte del più ampio Windows Management Framework V3, di cui fa parte anche WinRM.
|accessdate=2006-04-26
|last=Snover
|first=Jeffrey
|work=Windows PowerShell team blog
|publisher=MSDN
}}</ref>. Release Candidate 1 of PowerShell was released at the same time.
 
La versione 6 è stata pubblicata il 2 agosto 2016 e, rende il software ''open source'' sotto [[licenza MIT]]<ref>{{Cita web|url=https://github.com/PowerShell/PowerShell/blob/master/LICENSE.txt|titolo=LICENSE.txt|sito=Powershell|editore=Github|lingua=en|accesso=2020-08-22}}</ref> e lo rende disponibile anche per Linux e Mac OS. Il nome viene infatti cambiato eliminando Windows dal nome e lasciando solo PowerShell.
Release Candidate 2 of PowerShell was released [[September 26]] [[2006]].
 
== Descrizione ==
Windows PowerShell v1.0 was released to web (RTW) [[November 14]] [[2006]].
=== Principi ===
Il nome in codice di PowerShell, Monad, proviene dalla [[monadologia]] di [[Gottfried Leibniz]], una filosofia in cui l'universo è composto da elementi fondamentali, le [[monadi]], disposti in una "[[armonia prestabilita]]". In maniera simile, PowerShell è la combinazione di compiti complessi e di una serie di componenti, i ''cmdlet'' (''command-let''), che sono classi .NET progettate per sfruttare le caratteristiche dell'ambiente. La differenza fondamentale tra l'approccio Unix e quello di PowerShell risiede nel fatto che piuttosto che creare una ''[[Pipeline (software)|pipeline]]'' basata su [[Input/output|input e output]] testuali, PowerShell fa passare i dati da un ''cmdlet'' all'altra come [[Oggetto (informatica)|oggetti]] (dati dotati di una struttura ben precisa).
 
L'output di un ''cmdlet'', se si tenta di accedervi tramite riga di comando, viene automaticamente convertito in testo; se, invece, si tenta di utilizzarlo in un altro ''cmdlet'', esso verrà convertito nell'oggetto più appropriato per l'input di quell'altro ''cmdlet''. In questo modo, varie utility comunemente utilizzate nelle pipelines Unix, quali [[grep]] e [[awk]], non sono più necessarie, e si permette una combinazione interattiva o in un ambiente di scripting dei singoli elementi, cosa che avrebbe, diversamente, richiesto un [[linguaggio di programmazione]] più complesso. Per esempio, una lista dei processi in esecuzione non sarà costituita dal testo che li descrive, ma dagli oggetti che la compongono, sicché è possibile invocare metodi su questi oggetti senza far esplicito riferimento ad alcuna struttura o [[Libreria (software)|libreria]].
==Principi==
PowerShell's codename, ''Monad'', comes from [[Gottfried Leibniz]]'s [[monadology]], a philosophy in which the universe is a composite of fundamental elements called ''[[Monads]]'' that are integrated in a "[[pre-established harmony]]". Similarly, PowerShell is a composite of the complex tasks of a series of components. The components are special programs called ''cmdlets'' (pronounced ''command lets''), which are .NET classes designed to use the features of the environment. The key difference between the usual Unix approach and the PowerShell one is that rather than creating a "pipeline" based on ''textual'' input and output, PowerShell passes data between the various cmdlets as ''objects'' (structured data).
 
=== Caratteristiche ===
If accessed individually from the command line, a cmdlet's output will automatically be converted into text, but if its output is to be used by another cmdlet, it will be converted into whatever form of object is most appropriate for that cmdlet's input. This has the advantage of eliminating the need for the many text-processing utilities which are common in Unix pipelines, such as [[grep]] and [[awk]], as well as allowing things to be combined interactively, or in a scripting environment, which would otherwise require a more complex [[programming language]]. For instance, a listing of processes will consist not of text describing them, but objects representing them, so that methods can be called on those objects without explicit reference to any outside structure or [[library (computer science)|library]].
* Linguaggio di scripting simile al [[C Sharp|C#]], con molte funzionalità dedicate agli utenti esperti, come il supporto diretto alle ''[[hash table]]'', i costrutti ''[[Switch (programmazione)|switch]]'' basati su [[espressioni regolari]], la scomposizione degli [[array]], la possibilità di memorizzare come dati [[Funzione anonima|metodi anonimi]] da eseguire in un secondo momento. Sono presenti, naturalmente, tutte le caratteristiche che ci si aspetta di trovare in un linguaggio di scripting, quali l'[[iterazione]] ({{Codice|codice=for|linguaggio=PowerShell}} / {{Codice|codice=foreach|linguaggio=PowerShell}} / {{Codice|codice=while|linguaggio=PowerShell}}), i costrutti condizionali ({{Codice|codice=if|linguaggio=PowerShell}} / {{Codice|codice=switch|linguaggio=PowerShell}}), i campi di [[Visibilità (programmazione)|visibilità]] delle variabili (<code>global</code> / <code>script</code> / <code>local</code> / <code>private</code>) e la possibilità di definire funzioni.
* Tutti i ''cmdlet'' ereditano alcune caratteristiche, cosa che permette all'utente di scegliere, ad esempio, il livello di interazione e la modalità di gestione degli errori; si consideri, come esempio, la "sospensione", che permette di entrare in una nuova shell di comando, indagare su un problema, e quindi continuare con il comando originale. Al programmatore viene fornito un semplice meccanismo integrato per definire le richieste da mostrare in situazioni del genere. i ''cmdlet'' che restituiscono qualcosa all'esterno supportano le opzioni <code>-WHATIF</code> e <code>-CONFIRM</code>. <code>-WHATIF</code> simula l'esecuzione della procedura, comunicandone il possibile esito all'utente. <code>-CONFIRM</code> informa l'utente su ciò che sta per accadere e gli permette di decidere cosa fare.
* Un modello ''provider'' estendibile fornisce la possibilità di accedere e manipolare non solo il [[file system]], ma anche altre strutture dati gerarchiche. Ad esempio, PowerShell integra un provider per il [[Registro di Windows]] che consente l'accesso agli alberi <code>HKLM</code> (<code>HKEY_LOCAL_MACHINE</code>) e <code>HKCU</code> (<code>HKEY_CURRENT_USER</code>). In questo modo, il registro può essere visualizzato con comandi quali {{Codice|codice=dir HKLM:\SOFTWARE\Microsoft|linguaggio=batch}} dal prompt della shell. PowerShell fornisce ''provider'' per la libreria di certificati di sicurezza, le [[Variabile d'ambiente (Windows)|variabili d'ambiente]] e di shell, le funzioni e gli alias; gli utenti possono creare loro propri provider e integrarli in PowerShell.
* Le opzioni della riga di comando sono, in genere, parole intere, ma è possibile farvi riferimento più velocemente, specificando solo il numero minimo di lettere necessario a distinguerle dalle altre (per esempio, l'opzione <code>-mostra-informazioni-dettagliate</code> può essere richiamata specificando solo <code>-m</code> se nessun'altra opzione comincia per ''m'').
* Completamento automatico dei comandi estendibile dall'utente. Si pensi che [[cmd.exe]] nelle versioni recenti di Windows può solo completare i nomi di file e directory, a differenza di ciò che accade in shell quali [[bash]] e [[zsh]].
* Possibilità di assegnare l'output di un comando ad una variabile, che diventa un oggetto o un array di oggetti visualizzabile in qualunque maniera si desideri.
 
== Windows PowerShell ISE ==
==Caratteristiche==
Windows PowerShell ISE (Integrated Scripting Environment) è un’applicazione introdotta a partire da PowerShell 2.0<ref>{{Cita web|url=https://www.memexcomputer.it/windows-powershell/|titolo=Windows PowerShell: cos'è e a cosa serve (guida completa) {{!}}'L'{{!}}|autore=Stefano Serafino|sito=Memex Computer|data=2017-05-18}}</ref>. Con questa versione di PowerShell si possono eseguire comandi, provare e sottoporre a [[debug]] gli script in un’unica interfaccia utente multivista (e con grafica Windows). I riquadri sono specifici per i comandi, per gli script e per i risultati.
Although still in development, a number of key features of PowerShell have already been revealed, including:
*A [[C Sharp|C#]]-like scripting language with many power user features such as direct support for [[hashtable]]s, [[switch statement]]s that can case on [[regular expression]]s, [[array]] slicing and [[anonymous method]]s (script blocks) that can be stored as data and then later executed. That is in addition to the normal scripting language features such as [[looping]] (for/foreach/while), [[conditional statement]]s (if/switch), [[variable scoping]] (global/script/local/private) and the abililty to define functions.
*Cmdlets all inherit certain options, allowing the user to choose things such as the level of interaction and how to deal with errors &mdash; including a "suspend" feature, which allows the user to enter a new command shell, investigate a problem, and then continue with the original command. A simple mechanism is built-in for the programmer to define the prompts to be shown in such circumstances. Cmdlets that produce side-effects support the options: -WHATIF and -CONFIRM. -WHATIF informs the user what would have happened but no action takes place. -CONFIRM informs the user what is about to happen and allows the user to control whether it takes place or not.
*An extensible ''provider'' model provides not only access to and manipulation of the [[file system]] but also other hierarchical stores. For instance, PowerShell comes with a [[Windows registry|registry]] provider that allows access to the registry via the "HKLM" and "HKCU" hives. With this, the registry can be browsed by executing commands like "dir HKLM:\SOFTWARE\Microsoft" at the shell prompt. PowerShell comes with providers for the certificate store as well as [[environment variable]]s, shell variables, local certification store, functions and aliases. Like cmdlets, the provider model is extensible, allowing third parties to create their own provider model and snap it into PowerShell.
*The command-line options are generally whole words, but can be specified as the minimum number of letters necessary (e.g. the option <code>-show-detailed-information</code> could be entered as <code>-s</code> if no other option began with 's')
*Comprehensive, user-extendable, [[tab completion]] features. The [[cmd.exe]] shell in current versions of Windows can only complete file or directory names, in contrast to the advanced completion in shells such as [[bash]] and [[zsh]].
*The ability to assign the output of a command to a variable, which will then be an object or array of objects inspectable in any way desired.
-->
==Esempi==
 
== Note ==
* Arresta tutti i processi che iniziano con la lettera "p":
<references />
PS> get-process p* | stop-process
 
== Bibliografia ==
* Trova i processi che utilizzano più di 10 MB di memoria e arrestali:
* {{Cita libro|url=http://www.powershell.it/Libri/Windows-PowerShell-2.0-Guida-completa.aspx|titolo=Windows PowerShell 2.0 - Guida completa|cognome=Cobisi|isbn=978-88-8233-893-0|citazione=Community lead di powershell.it, la community italiana di Windows PowerShell|urlmorto=sì|urlarchivio=https://web.archive.org/web/20100701030747/http://www.powershell.it/Libri/Windows-PowerShell-2.0-Guida-completa.aspx|dataarchivio=1º luglio 2010}}
PS> get-process | where { $_.WS -gt 10MB } | stop-process
* {{Cita libro|url=https://www.manning.com/payette/|titolo=Windows PowerShell in Action|nome=Bruce|cognome=Payette|isbn=1-932394-90-7|citazione=Membro fondatore del team di Windows PowerShell e uno degli sviluppatori chiave del linguaggio di scripting}}
* {{Cita libro|url=https://www.oreilly.com/catalog/powershell/|titolo=Monad - Introducing the MSH Command Shell and Language (the ''Toad book''|nome=Andy|cognome=Oakley|isbn=0-596-10009-4}}
* {{Cita libro|url=http://nexus.realtimepublishers.com/EBMPS.htm|titolo=An Introduction to Microsoft PowerShell|nome=Don|cognome=Jones|urlmorto=sì|urlarchivio=https://web.archive.org/web/20061027045650/http://nexus.realtimepublishers.com/EBMPS.htm|dataarchivio=27 ottobre 2006}}
* {{Cita libro|url=http://www.sapienpress.com/powershell.asp|titolo=Windows PowerShell: TFM|nome=Don|cognome=Jones|coautori=Jeffery Hicks|isbn=0-9776597-1-2}}
* {{Cita libro|url=https://www.oreilly.com/catalog/windowspowershell/|titolo=Windows PowerShell Quick Reference|nome=Lee|cognome=Holmes|isbn=0-596-52813-2|citazione=Sviluppatore del team di Windows PowerShell}}
* {{Cita libro|titolo=Microsoft Windows Powershell Programming for the Absolute Beginner|anno=2007|url=https://archive.org/details/microsoftwindows0000ford_t4l6|nome=Jerry Lee|cognome=Ford Jr|isbn=1-59863-354-6}}
* {{Cita libro|url=http://www.wrox.com/WileyCDA/WroxTitle/productCd-0471946931.html|titolo=Professional Windows PowerShell|nome=Andrew|cognome=Watt|citazione=Windows PowerShell MVP|isbn=0-471-94693-1|accesso=21 novembre 2006|dataarchivio=9 novembre 2006|urlarchivio=https://web.archive.org/web/20061109073304/http://www.wrox.com/WileyCDA/WroxTitle/productCd-0471946931.html|urlmorto=sì}}
 
== Altri progetti ==
* Calcola il numero di byte occupati dai file di una directory:
{{interprogetto}}
PS> get-childitem | measure-object -property length -sum
 
== Collegamenti esterni ==
* Determina se un processo specifico è o meno ancora in esecuzione:
* {{Collegamenti esterni}}
 
{{Componenti di Windows}}
PS> $processToWatch = get-process notepad
{{Controllo di autorità}}
PS> $processToWatch.WaitForExit()
{{Portale|Informatica|Microsoft}}
 
* Cambia una stringa da minuscolo a maiuscolo:
PS> "hello, world!".ToUpper()
 
* Inserisce la stringa "ABC" dopo il primo carattere della parola "string" così da ottenere "sABCtring":
PS> "string".Insert(1, "ABC")
 
* Scarica un feed RSS specifico e visualizza gli 8 titoli più recenti:
PS> $rssUrl = "http://blogs.msdn.com/powershell/rss.aspx"
PS> $blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl)
PS> $blog.rss.channel.item | select title -first 8
 
==Riferimenti==
===Bibliografia===
*{{cite book|url=http://www.manning.com/payette/|title=Windows PowerShell in Action|first=Bruce|last=Payette|id=ISBN 1-932394-90-7|quote=a founding member of the Windows PowerShell team and one of the key designers of the Windows PowerShell language''}}
*{{cite book|url=http://www.oreilly.com/catalog/powershell/|title=Monad - Introducing the MSH Command Shell and Language (the ''Toad book''|first=Andy|last=Oakley|id=ISBN 0-596-10009-4}}
*{{cite book|url=http://nexus.realtimepublishers.com/EBMPS.htm|title=An Introduction to Microsoft PowerShell|first=Don|last=Jones}}
*{{cite book|url=http://www.sapienpress.com/powershell.asp|title=Windows PowerShell: TFM|first=Don|last=Jones|coauthors=Jeffery Hicks|id=ISBN 0-9776597-1-2}}
*{{cite book|url=http://www.oreilly.com/catalog/windowspowershell/|title=Windows PowerShell Quick Reference|first=Lee|last=Holmes|id=ISBN 0-596-52813-2|quote=a developer on the Windows PowerShell team}}
*{{cite book|title=Microsoft Windows Powershell Programming for the Absolute Beginner|first=Jerry Lee|last=Ford Jr|id=ISBN 1-59863-354-6}}
*{{cite book|url=http://www.wrox.com/WileyCDA/WroxTitle/productCd-0471946931.html|title=Professional Windows PowerShell|first=Andrew|last=Watt|quote=Windows PowerShell MVP|id=ISBN 0-471-94693-1}}
 
==Collegamenti esterni==
* [http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx Homepage di PowerShell]
* [http://channel9.msdn.com/tags/monad Channel9 Monad Interviews/Demos con Jeffrey Snover] - l'Architetto di Windows PowerShell
* [http://www.microsoft.com/technet/scriptcenter/resources/interviews/snover.mspx TechNet Script Center Interview with Jeffrey Snover] - l'Architetto di Windows PowerShell
* [http://www.microsoft.com/technet/technetmag/issues/2005/11/Scripting/default.aspx ''Monad: The Future of Windows Scripting''] - an article in TechNet Magazine by Thomas Lee.
* [http://www.computerweekly.com/Article133957.htm ''Future Windows component could spur old-school script viruses - Monad's role in future security concerns''], by Paul Roberts, IDG News Service
* [http://www.leeholmes.com/blog/MonadAndTheFirstVistaVirus.aspx ''Monad and the "First Vista Virus"], a clarification by Lee Holmes, a developer on the Windows PowerShell Team
* [http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx Scripting with Windows PowerShell]
* [http://blogs.msdn.com/powershell/ Windows PowerShell Team Blog]
* [http://powershell.wik.is/Home The PowerShell Wiki], a collection of useful scripts for the newcomer as well as the advanced user
* [http://www.primalscript.com Example of a commercial Windows PowerShell editing environment]
* [http://prpi.blogspot.com/2006/11/even-better-odpnet-under-windows.html Oracle Data Provider for .NET under PowerShell]
* [http://msdn2.microsoft.com/en-us/library/ms714658.aspx How Windows PowerShell Works]
 
[[Categoria:.NET]]
[[Categoria:Riga di comando Microsoft]]
 
[[cs:Windows PowerShell]]
[[de:Windows PowerShell]]
[[en:Windows PowerShell]]
[[es:Windows PowerShell]]
[[fi:Windows PowerShell]]
[[fr:Windows PowerShell]]
[[id:Windows PowerShell]]
[[pl:Windows PowerShell]]
[[ru:Windows PowerShell]]