Uso regolarmente lo [cmdletbinding()]
nelle mie funzioni o script ma ho sempre trovato queste cose esoteriche, forse alcuni di voi possono condividere le loro luci.
Secondo get-help about_Functions_CmdletBindingAttributecosa è [cmdletbinding()] e come funziona?
L'attributo CmdletBinding è un attributo di funzioni che rende loro operare come cmdlet compilati
ma possiamo usarlo in cima ai nostri script, qual è la funzione in questo Astuccio ? una funzione "principale" implicita interna chiamata dal motore ps per tutti i suoi input?
sulla sintassi ora:
[CmdletBinding(ConfirmImpact=<String>,
DefaultParameterSetName=<String>,
HelpURI=<URI>,
SupportsPaging=<Boolean>,
SupportsShouldProcess=<Boolean>,
PositionalBinding=<Boolean>)]
cosa stiamo facendo? istanziare un oggetto cmdlbinding e dare una lista di argomenti al suo costruttore? questa sintassi può essere trovata in param(), ad esempio [Parameter(ValueFromPipeline=$true)]
questa sintassi ha un nome particolare e può essere trovata altrove?
finalmente, siamo in grado, come semplici powerheller, di imitare questa funzionalità e modificare il comportamento degli script impostando un attributo?
Credo documenti sono po 'fuorviante qui: tutto questo è legato a qualsiasi tipo di blocco di script : come menzionato da Shay - nominato per nome funzione, per percorso (script) ma * anche * senza nome, ad es '& {[CmdletBinding()] param() Write-Verbose 'Foo'} -Verbose' funziona come un campione. – BartekB
@BartekB grazie ok per la prima parte della domanda. –