diff --git a/agent/agent_windows.go b/agent/agent_windows.go index 87c3667..ebdce00 100644 --- a/agent/agent_windows.go +++ b/agent/agent_windows.go @@ -161,11 +161,10 @@ func (a *Agent) RunScript(code string, shell string, args []string, timeout int, cmd := exec.Command(exe, cmdArgs...) if runasuser { token, err := wintoken.GetInteractiveToken(wintoken.TokenImpersonation) - if err != nil { - return "", err.Error(), 66, err + if err == nil { + defer token.Close() + cmd.SysProcAttr = &syscall.SysProcAttr{Token: syscall.Token(token.Token()), HideWindow: true} } - defer token.Close() - cmd.SysProcAttr = &syscall.SysProcAttr{Token: syscall.Token(token.Token()), HideWindow: true} } cmd.Stdout = &outb cmd.Stderr = &errb