about_Simplified_Syntaxabout_Simplified_Syntax

DESCRIZIONE BREVESHORT DESCRIPTION

Vengono descritte le modalità di scripting dei filtri più semplici e più naturali per le raccolte di oggetti.Describes easier, more natural-language ways of scripting filters for collections of objects.

DESCRIZIONE LUNGALONG DESCRIPTION

La sintassi semplificata, introdotta in Windows PowerShell 3,0, consente di creare alcuni comandi di filtro senza usare blocchi di script.Simplified syntax, introduced in Windows PowerShell 3.0, lets you build some filter commands without using script blocks. La sintassi semplificata è molto simile al linguaggio naturale ed è particolarmente utile con le raccolte di oggetti che vengono inviate tramite pipe ai comandi e Where-Object ForEach-Object e i relativi alias where e foreach .The simplified syntax more closely resembles natural language, and is primarily useful with collections of objects that get piped into commands Where-Object and ForEach-Object and their corresponding aliases where and foreach.

È possibile usare un metodo sui membri di una raccolta (più comunemente, una matrice) senza fare riferimento alla variabile automatica $_ all'interno di un blocco di script.You can use a method on the members of a collection (most commonly, an array) without referring to the automatic variable $_ inside a script block.

Prendere in considerazione le due chiamate seguenti:Consider the following two invocations:

Sintassi standardStandard Syntax

dir Cert:\LocalMachine\Root | where { $_.FriendlyName -eq 'Verisign' }
dir Cert:\ -Recurse | foreach { $_.GetKeyAlgorithm() }

Sintassi semplificataSimplified syntax

Con la sintassi semplificata, gli operatori di confronto che funzionano sui membri degli oggetti in una raccolta vengono considerati parametri.Under the simplified syntax, comparison operators that work on members of objects in a collection are treated as parameters. È possibile richiamare un metodo sugli oggetti in una raccolta senza fare riferimento alla variabile automatica $_ all'interno di un blocco di script.You can invoke a method on objects in a collection without referring to the automatic variable $_ inside a script block. Confrontare le due chiamate seguenti a quelle dell'esempio precedente:Compare the following two invocations to those of the previous example:

dir Cert:\LocalMachine\Root | where FriendlyName -eq 'Verisign'
dir Cert:\ -Recurse | foreach GetKeyAlgorithm

Sebbene entrambe le sintassi funzionino, la sintassi semplificata restituisce risultati senza fare riferimento alla variabile automatica $_ all'interno di un blocco di script.While both syntaxes work, the simplified syntax returns results without referring to the automatic variable $_ inside a script block. Il nome del metodo GetKeyAlgorithm viene considerato come un parametro di ForEach-Object .The method name GetKeyAlgorithm is treated as a parameter of ForEach-Object. Il secondo comando restituisce gli stessi risultati, ma senza errori, perché la sintassi semplificata non tenta di restituire risultati per gli elementi per i quali l'argomento specificato non è stato applicato.The second command returns the same results, but without errors, because the simplified syntax does not attempt to return results for items for which the specified argument did not apply.

In questo esempio, la Process proprietà Description viene passata come parametro del nome del membro al ForEach-Object comando.In this example, the Process property Description is passed as the member name parameter to the ForEach-Object command. I risultati sono descrizioni di processi attivi.The results are descriptions of active processes.

Get-Process | foreach Description

In questo esempio il DirectoryInfo metodo GetFiles viene passato come parametro del nome del membro del ForEach-Object comando.In this example, the DirectoryInfo method GetFiles is passed as the member name parameter of the ForEach-Object command.
Il metodo viene chiamato con il parametro del criterio di ricerca .* .The method is called with the search pattern parameter .*.
I risultati sono FileInfo record per tutti i file nascosti di tipo UNIX nelle home directory degli utenti.The results are FileInfo records for all Unix-style hidden files in user home directories.

Get-ChildItem /home -Directory | foreach GetFiles .*

VEDERE ANCHESEE ALSO