원격 컴퓨터에서 PS 스크립트를 실행해야하는데 아래 코드에서와 같이 수행해야합니다.PSTool을 사용하여 원격 컴퓨터에서 PowerShell 스크립트 실행
Process psExecer = new Process
{
StartInfo =
{
UseShellExecute = false,
CreateNoWindow = false,
WindowStyle = ProcessWindowStyle.Hidden,
FileName = @"c:\PsTools\PsExec.exe",
Arguments = @"c:\windows\System32\cmd.exe /k c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe E:\Scripts\SetUP.ps1 -u super -p Pass -s"
}
};
psExecer.Start();
psExecer.WaitForExit();
Thread.Sleep(5000);
문제는 스크립트에 일부 sharepoint cmdlet이 있으며 공유 지점 PSSnapin을로드해야한다는 것입니다. 스크립트는 Powershell의 64 비트 이미지에서 실행될 때만 제대로 실행됩니다.
PSTool을 사용하여 실행하려고하면 PSTool은 코드에 표시된대로 명시 적으로 경로를 언급했지만 항상 % windir % \ SysWoW64 폴더에서 32 비트 PowerShell을 호출합니다. 그렇게, 내 문제에 대한 해결책
감사합니다 것입니다 왜
, 이름 : Jeez
그냥 궁금한데 왜'cmd'를로드 한 다음'powershell'을 직접 실행하지 않고'powershell'을로드해야합니까? –
powershell을 직접로드하면 같은 오류가 발생하므로 많이 사용하지 않은 cmd를 사용하여로드를 시도했습니다. – JeeZ
필자는 오타라고 가정하고 있지만 64 비트 버전의 powershell을 실행해야한다고 말한 후 ' System32'. 혼란이 없는지 확인하기 위해 질문을 업데이트 할 수 있습니까? –