gpt4 book ai didi

powershell - 函数完成后 Import-PsSession 不可用

转载 作者:行者123 更新时间:2023-12-02 01:13:09 25 4
gpt4 key购买 nike

我有一个创建远程 PS session 的函数。然后我导入 session ,所有导出的命令在代码运行时都可用于其他函数。当函数完成时,会有一个“可用”的 PS session ,但是之后没有任何导出的命令可用。这是一个例子:

Function DoSomething{
$lyncsession = New-CsOnlineSession -Credential (Get-Credential -Message "Authenticate to Skype for Business Online")
$remoteSession = Import-PSSession $lyncsession -AllowClobber | Out-Null
}

如果我想再次运行该函数,我需要拆除旧的 PSSession 并创建一个新的(重新进行身份验证)。

有没有办法在函数内创建 PSSession 并在函数完成时使导出的 cmdlet 可用?

顺便说一句,如果我在函数外部运行命令,这不是问题。

最佳答案

如果您希望函数或脚本在您的 session 范围内运行,您可以点源它。这会将变量放在当前范围内,否则正如您所指出的那样,它们将位于 function scope 中。并在函数完成后不可用。

. DoSomething

否则,您可以手动将函数内的变量限定在不同的范围内。全局和脚本范围的示例

Function DoSomething{
$script:lyncsession = New-CsOnlineSession -Credential (Get-Credential -Message "Authenticate to Skype for Business Online")
$global:remoteSession = Import-PSSession $lyncsession -AllowClobber | Out-Null
}

关于powershell - 函数完成后 Import-PsSession 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44013012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com