Если вы хотите, чтобы функция выполняла блок скриптов, вам нужно вызвать или вызвать этот блок скриптов, то есть
function Run_Scriptblock($SB) {
$SB.Invoke()
}
или
function Run_Scriptblock($SB) {
& $SB
}
В противном случае функция просто вернет определение блока скрипта в виде строки. Ключевое слово return
не требуется, поскольку функции PowerShell по умолчанию возвращают все незаписанные выходные данные .
Функция будет вызываться так:
Run_Scriptblock {systeminfo}
В качестве примечания, я бы рекомендовал вам назвать свою функцию в соответствии с соглашениями PowerShell (<Verb>-<Noun>
с утвержденным глаголом ), например,
function Invoke-Scriptblock($SB) {
...
}