假设我编写了一个带有一些离散函数的POSH脚本。
一个函数称为Login
,它返回一个auth令牌(字符串类型),另一个函数使用该令牌调用API。如果已经执行了Login
并且获得了身份验证令牌,则每次用户调用API时我都不想调用Login
。该令牌仅持续一个会话 - 它不需要持久保存到数据库/磁盘等。
我在哪里维护身份验证令牌?是否由用户在其POSH会话中存储令牌?无论如何,我可以在我的剧本中为他们做到这一点吗?
答案 0 :(得分:0)
您可以使用像全局变量一样简单的东西。
$global:MyToken = 'SomeToken'
但更灵活的是做remoting sessions之类的事情。会话不仅仅是一个字符串,而是一个具有所需属性或方法的类。由于它是一个类,其他命令可以看到它是一个会话而不仅仅是一个字符串。有了这个,你可以做这样的事情:
$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