1

我尝试像这样远程执行powershell脚本:

psexec -i \\host -u user -p pass PowerShell C:\tst\tst.ps1

tst.ps1 的源代码:

$TempLogFilePath = "$(Get-Date -u "%Y-%m-%d")-LogFileEventLog.log"
Start-Transcript -Path "$TempLogFilePath" -Append
echo (Get-Date –f o)

Stop-Transcript
Exit 0

当一个运行命令远程执行这个脚本时,脚本定位在远程机器上,在本地机器上什么也不输出。在 cmd.exe 中运行的命令。如何将输出输出到本地控制台?

4

1 回答 1

1
PsExec.exe \\host -u domain\user -p pass cmd /c "echo . | %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe C:\WINDOWS\system32\Hello.ps1"

此构造可帮助您运行远程 powershell 脚本,但脚本应位于远程计算机上。

和第二次建设

Param(
[alias("sp")]
[string]$script_path,
[alias("u")]
[string]$user_name,
[alias("p")]
[string]$password,
[alias("h")]
[string]$host_name
)
$pass = convertto-securestring $password -asplaintext -force
$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist $user_name,$pass
invoke-command -credential $mycred -computername $host_name -filepath $script_path

但我不知道如何传递 args 字符串以使用参数执行远程脚本

于 2012-10-29T07:53:08.127 回答