1

假设我编写了一个带有一些离散函数的 POSH 脚本。

一个函数被调用Login,它返回一个身份验证令牌(字符串类型),另一个使用该令牌调用 API。如果已经执行了 a 并且获得了身份验证令牌,我不想Login在用户每次调用 API 时调用。Login令牌仅持续一个会话 - 它不需要持久化到数据库/磁盘等。

我在哪里维护身份验证令牌?是否由用户将令牌存储在他们的 POSH 会话中?无论如何我可以在我的脚本中为他们做到这一点吗?

4

1 回答 1

0

您可以使用像全局变量这样简单的东西。

$global:MyToken = 'SomeToken'

但更灵活的是做一些类似远程会话的事情。会话不仅仅是一个字符串,而是一个具有所需属性或方法的类。而且由于它是一个类,其他命令可以看到它是一个会话,而不仅仅是一个字符串。有了它,你可以做这样的事情:

$session1 = New-MySession -Name Jimmy -Password Secret
$session2 = New-MySession -Name Bob -Password 1234
MyAction -Session $session1 
MyOtherAction -Session $session1 
MyOtherAction -Session $session2
MyYetAnotherAction -Session $session1, $session2
Export-Session $session1 C:\temp\somefile.ses
于 2013-05-13T14:19:06.083 回答