Если вы не знаете (или не заботитесь) о том, сколько аргументов вы перейдете к функции, вы также можете использовать очень простой подход:
Код:
function FunctionName()
{
Write-Host $args
}
Это будет печатать все аргументы. Например:
FunctionName a b c 1 2 3
Выход
a b c 1 2 3
Я считаю это особенно полезным при создании функций, которые используют внешние команды, которые могут иметь много разных (и необязательных) параметров, но полагаются на указанную команду для обеспечения обратной связи по синтаксическим ошибкам и т. д.
Вот еще один пример реального мира (создание функции для команды tracert, которую я ненавижу, чтобы помнить усеченное имя);
Код:
Function traceroute
{
Start-Process -FilePath "$env:systemroot\system32\tracert.exe" -ArgumentList $args -NoNewWindow
}