0
X와 Y로 두 개의 서버가 있습니다. Y에 X의 원격 데스크톱을 가지고 사용하는 powershell 스크립트가 있습니다. 실행해야하는 powershell 스크립트 나는 Y에 로컬로이 스크립트를 실행하면powershell을 사용하여 원격으로 mstsc를 실행하려고 시도하지 않습니다.
$hostname = 'X'
$User = 'u-name'
$Password = 'password'
$ProcessInfo = New-Object System.Diagnostics.ProcessStartInfo
$Process = New-Object System.Diagnostics.Process
$ProcessInfo.FileName = "$($env:SystemRoot)\system32\cmdkey.exe"
$ProcessInfo.Arguments = "/generic:TERMSRV/$hostname /user:$User /pass:$Password"
$Process.StartInfo = $ProcessInfo
$Process.Start()
$ProcessInfo.FileName = "$($env:SystemRoot)\system32\mstsc.exe"
$ProcessInfo.Arguments = "$MstscArguments /v $hostname"
$Process.StartInfo = $ProcessInfo
$Process.Start()
, 그것은 실행 않으며
Y.
에서 서버 X를 엽니 다하지만 난 단지 Y에서 X를 엽니 다 X에서 트리거 할 - Y에 . 그래서 나는 X에서이 powershell 스크립트를 호출한다. -$pass = ConvertTo-SecureString -AsPlainText test-password -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList test-uname,$pass
$hostn = hostname
$Use = 'u-name'
$Pass = 'password'
Write-Host "$hostname"
$ScriptBlockContent={
Param ($hostname,$User,$Password)
E:\Script\test.ps1 $hostname $User $Password}
Invoke-Command -ComputerName Y -Credential $cred -Scriptblock $ScriptBlockContent -ArgumentList $hostn,$Use,$Pass
내가 이것을 호출 할 때. Y에서 mstsc.exe를 열지 만 초의 몇 분의 일 동안 만 서버 Y를 열지 않습니다. 누군가 제발 도와주세요 .. !!
감사합니다.
감사합니다. 나는 시도했다 - "E : \ PS 도구 \ PsExec.exe"-i 테스트 -uname -p 테스트 암호 E : \ Script \ test.cmd X 사용자 이름 암호 또한 ' 일하지 마라. – user3783125
test.cmd가 동일한 powershell 스크립트를 호출하고 있습니다. – user3783125
E : \ PS 도구 \ PsExec.exe \\ Y -i -u 테스트 -uname -p 테스트 암호 E : \ Script \ test.cmd X u-name 암호'를 시도하십시오. – briantist