2013-04-15 1 views
1

프로그래밍 방식으로 전송 규칙을 내보내려고합니다.프로그래밍 방식으로 내보내기 전송 규칙 - 교환 2010

내 코드는 get-exchangeserver 및 get-TransportRule과 같은 간단한 명령에서 작동하지만 일부 파일에 규칙을 가져 오는 명령을 제공하면 주어진 명령이 cmdlet, 스크립트로 인식되지 않는다는 오류가 발생합니다. 내 코드는 다음과 같습니다

(나는 교환 관리를 모두 Windows 인증 또는 사용자의 인증을 제공하는 시도) : 나는 C# 및 Exchange Server 2010이 사용하고

WSManConnectionInfo connectionInfo = new WSManConnectionInfo(serverUri, SHELL_URI, creds); 
try 
{ 
    using (Runspace rs = RunspaceFactory.CreateRunspace(connectionInfo)) 
    { 
     PowerShell psh = PowerShell.Create(); 
     psh.Runspace = rs; 
     rs.Open(); 
     psh.AddCommand("$file = Export-TransportRuleCollection -ExportLegacyRules" +"Set-Content -Path " + @"C:\LegacyRules3.xml" + "-Value file.FileData -Encoding Byte"); 
     psh.Invoke(); 

, PowerShell을 버전은 1.0입니다. 원격 OS는 Winodws 7입니다.

어떤 수정을해야합니까?

Exchange 2010에서는, 당신은 변수에 규칙 모음을 내 보낸 다음 XML 파일에 데이터를 작성하기 위해 설정 내용 cmdlet를 사용해야합니다 수출-TransportRuleCollection에 대한 문서에서

답변

0

. 자세한 내용은 Set-Content를 참조하십시오.

http://technet.microsoft.com/en-us/library/bb124410(v=exchg.141).aspx

+0

안녕, 답장을 보내 주셔서 감사합니다, 당신은 내가 이미 cmdlet을 사용하고 있지만 코딩을 통해 작동하도록 할 수없는, 내가 그것을 확인하기 위해 명령을 나눌 수있는 방법을 알고 싶습니다 내 코드가 표시되는 경우 C# 코드를 통해 작업하십시오. 감사합니다, Amit – user2281729

+0

사용 권한 정보가 필요한 권한이있는 Exchange RBAC 그룹에 속해 있습니까? 그렇지 않은 경우 Exchange는 세션에서 사용할 cmdlet을 Exchange에 제공하지 않습니다. – mjolinor

+0

이렇게하려면 Exchange 원격 세션에 연결하는 것 같습니다. 이것은 Exchange 서버의 파일 시스템에 액세스 할 수없는 제약이 있고 언어가없는 세션입니다. 일반적으로 이러한 세션을 사용하려면 로컬 세션을 만든 다음 원격 세션 함수에 연결하여 해당 로컬 세션으로 가져옵니다 (암시 적 원격). – mjolinor

관련 문제