Разница между передачей параметров в PowerShell по значению и по ссылке заключается в том, как передаются данные. 2
Передача по значению означает, что вызывающая функция копирует в память, доступную вызываемой, непосредственное значение. 1 Изменение копии переменной не затрагивает оригинал. 1 Например, в PowerShell целые числа являются типами значений, поэтому они передаются по значению. 2
Передача по ссылке означает, что копируется не само значение, а адрес исходной переменной. 1 При передаче переменной по ссылке функция может изменить данные, и это изменение сохраняется после выполнения функции. 2 По умолчанию по ссылке передаются объекты, например Hashtable. 2
Чтобы передать параметр по ссылке в PowerShell, нужно указать тип параметров как System.Management.Automation.PSReference или [ref]. 24