Powershell - 在不使用Jobs或Invoke-Command的情况下将凭据传递给脚本块

时间:2014-09-04 13:08:46

标签: powershell-v2.0 credentials

我们在Dev环境中创建了一个Windows用户,我们需要在该用户的安全上下文中执行所有操作。

到目前为止,我们发现只有两种方法可以将凭据传递给scriptblock 1.使用Start-Job 2.调用命令

但我们正面临着Jobs的性能问题,而对于Invoke-Command,我们需要在远程服务器上启用WinRm,但是我们无权启动它。

是否有其他解决方案可以在不使用上述选项或上述选项的任何解决方法的情况下将凭据传递给脚本块?

1 个答案:

答案 0 :(得分:0)

你可以写一个自我调用脚本。

if  (-not $args) { 
   $quiet=Enable-WSManCredSSP -Role Client -DelegateComputer * –Force -verbose
   $session = New-PSSession -ComputerName $env:COMPUTERNAME -Authentication Credssp -credential "<Your Username>" 
   $myDir = Split-Path -Parent $MyInvocation.MyCommand.Path
   $myfile=Split-Path -Leaf $MyInvocation.MyCommand.Definition
   cd $myDir #for ise working dir
invoke-command -Session $session -filepath $myfile -ArgumentList $session
exit
 }

#here take your code in

问候Ingo