如何通过命令行参数在PowerShell 2.0中调用会话



如何将命令行参数传递到使用PowerShell 2.0

中使用'Invoke-command'调用的会话

我的脚本:

param(
    [string]$hostname = 'my_server_name'
)
function createSession($hostname){
    return New-PSSession -ComputerName $hostname -Credential $env:UserDomain$env:UserName
}
$session = createSession $hostname
invoke-command -Session $session -ScriptBlock {
   write-host $hostname
   write-host $using:hostname
   write-host $script:hostname 
   write-host '**test text**'
}
    Exit-PSSession

输出:(如果直接打印参数值,我会得到空字符串。(

**test text**

使用param块

$hostname = $env:computername
Invoke-Command -ScriptBlock { param($hostname)
    Write-OutPut $hostname
} -ArgumentList $hostname
param(
    [string]$hostname = 'my_server_name'
)
function createSession($hostname){
    return New-PSSession -ComputerName $hostname -Credential $env:UserDomain$env:UserName
}
$session = createSession $hostname
invoke-command -Session $session -ScriptBlock {
$hostname=$using:hostname
or
$hostname=$script:hostname
   write-host $hostname
   write-host '**test text**'
}
    Exit-PSSession

希望以上任何一种有帮助,如果不这样做,请查看Powershell中范围范围变量的概念,他们可能会有所帮助PowerShell变量范围

最新更新