Недавно я загружал функции и сценарии PowerShell, которые я считаю полезными, и оборачивал их в команды вызова, чтобы сделать их более полезными в моей сети. Одна вещь, которую я не понял, это как принять общие параметры из [cmdletBinding()] и передать их все в команду вызова. Я знаю, как передавать отдельные переменные предпочтений, но не все из них. Существует ли общий набор переменных? Ниже приведены некоторые выдержки из PowerShell для иллюстрации.
ScriptBlock =
{ #How do I pass the whole of the common variables?
$ErrorActionPreference=$using:ErrorActionPreference
$InformationPreference=$Using:InformationPreference
$VerbosePreference=$Using:VerbosePreference...
Process
{
Write-Verbose "Processing"
$computername=$name
#Used $Name as a parameter originally to be compatible with the get-adcomputer cmdlet
If ($Credential) {Invoke-Command -ComputerName $computername -Credential $Credential -ScriptBlock $ScriptBlock}
Else {Invoke-Command -ComputerName $computername -ScriptBlock $ScriptBlock}
#You will need to be running Powershell with the proper Admin privileges if you don't specify a credential
} #End Process
END{