Самый популярный способ передачи параметров в функцию - это создать хеш-таблицу со всеми параметрами, которые вы хотите предоставить.
Возьмем этот пример, например, для вывода списка всех дисков определенного типа. на моем компьютере.
Get-CimInstance -Namespace root\cimv2 `
-ClassName Win32_DiskDrive `
-Filter "Caption='Samsung SSD 960 EVO 500GB'"
Вид длинной команды, верно? Я могу сделать хеш-таблицу, чтобы включить все эти значения.
$params = @{
Namespace = "root\cimv2";
ClassName = "Win32_DiskDrive";
Filter= "Caption='Samsung SSD 960 EVO 500GB'"
}
Затем мы go, чтобы вызвать его, обратите внимание на символ @
, используемый вместо символа обычной переменной, $
.
Get-CimInstance @params
Если Вы спрашиваете Зачем мне это делать? , вы видите, что это очень часто делается в функциях, которые предлагают удаленную функциональность. Хеш-таблица будет построена, а затем изменена на основе параметров, предоставленных или указанных в среде PowerShell, а затем передана действующему командлету для выполнения фактической функции.