Bootstrap

go+powershell脚本实现预填写管理凭据安装软件

这里使用了powershell脚本进行操作,使用golang进行简单的封装,实现普通用户下安装软件
powershell命令解释

$securePassword = ConvertTo-SecureString "yourpasswd" -AsPlainText -Force #转换密码为SecureString格式
$credential = New-Object System.Management.Automation.PSCredential("administrator", $securePassword) #创建PSCredential对象
$programPath = "C:\PAClient.exe"
Start-Process -FilePath $programPath -Credential $credential
package main

import (
	"fmt"
	"os/exec"
)

func main() {
	// 管理员账号和密码
	username := "Administrator"
	password := "yourpasswd"

	// 要安装的应用程序路径
	programPath := "C:\\PAClient.exe"

	// 创建PowerShell命令字符串
	psCommand := fmt.Sprintf(`
    $securePassword = ConvertTo-SecureString '%s' -AsPlainText -Force;
    $credential = New-Object System.Management.Automation.PSCredential('%s', $securePassword);
    Start-Process -FilePath '%s' -Credential $credential;
    `, password, username, programPath)

	// 执行PowerShell命令
	cmd := exec.Command("powershell", "-Command", psCommand)
	output, err := cmd.CombinedOutput()
	if err != nil {
		fmt.Println("Error executing PowerShell command:", err)
		fmt.Println(string(output))
		return
	}

	fmt.Println("Process installed successfully")

}
;