Что с дополнительным пробелом в вызове b.ps1?
Как только я исправлю это, я получу ожидаемые результаты.Кроме того, вам никогда не понадобится Write- * (echo), если все, что вы делаете, это отправляете на экран.Вывод на экран является настройкой по умолчанию.
Наконец, здесь не нужно // для комментариев, # и <##> отлично работают на этом сайте, как показано ниже.
Окружающая среда
$PSVersionTable
<#
Name Value
---- -----
PSVersion 5.1.17763.503
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.17763.503}
BuildVersion 10.0.17763.503
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
#>
Get-ExecutionPolicy
RemoteSigned
Содержимое
# a.ps1
'running a.ps1 script, calling b.ps1'
$variable1 = "This is Variable1"
$variable2 = "This is Variable2"
.\b.ps1 $variable1 $variable2
Содержимое
# b.ps1
'running b script'
'Showing output from a.ps1 variables'
$getVariable1= $args[0]
$getVariable2= $args[1]
$getVariable1
Результаты
.\a.ps1
running a.ps1 script, calling b.ps1
running b script
Showing output from a.ps1 variables
This is Variable1