如何使用Node.js作为特定用户运行.exec()?

时间:2018-03-09 07:16:43

标签: node.js impersonation

我正在构建自定义VSTS发布任务。我使用Node和打字稿。我需要以特定用户(模仿)的身份执行任务,因为构建代理没有执行任务所需的权限。

我认为有两种选择:

  1. 以特定用户身份执行整个任务。

  2. 由于我使用toolrunner,我只能使用我的特定凭据执行工具管理器。

  3. 很遗憾,我找不到the task schematask-lib的任何文档。我的代码目前看起来像这样(简化):

    let tRunner:trm.ToolRunner = tl.tool(toolPath);
    tRunner.arg(["--someArgument", someArgument])
    await tRunner.exec();
    

    我需要rTunner.exec()作为构建代理之外的其他用户运行。我可以将凭据传递给任务。

    在PowerShell中我会做这样的事情:

    $pswd = ConvertTo-SecureString -String $password -AsPlainText -Force
    $cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username, $pswd)
    
    $ScriptBlock = { 
        param($args) 
        -- Execute here...
    }
    
    Invoke-Command -Credential $cred  $ScriptBlock -ArgumentList $args
    

    Node中的等价方式是什么?

0 个答案:

没有答案
相关问题