2017-03-24 10 views
-1

PowerShell 워크 플로를 사용하여 원격 PowerShell을 통해 Exchange Online과 상호 작용하고 병렬 foreach, 재시도 등과 같은 워크 플로 기능을 활용할 수 있습니까?PowerShell 워크 플로 - 인라인 스크립트 Remoting

#

나는 이것에 대한 구체적인 예를 찾을 수 없었고, 결국 나는 그것을 공유하고 싶었습니다. 이 PowerShell 워크 플로를 사용하면 Exchange Online (Exchange 온 - 프레미스 일 수도 있음)을 병렬로 쿼리하고 자동으로 오류를 다시 시도하고 자체를 조절할 수 있습니다.

리모컨을 사용하는 PowerShell 워크 플로의 다른 예가 있으면 다른 사용자에게이 기능을 유용하게 사용할 수 있습니다 (질문/답변 게시에 적합한 방법입니다).

답변

2
workflow Test-ExchangeQuery { 
    <# 
    .Synopsis 
     Short description 
    .DESCRIPTION 
     Long description 
    .EXAMPLE 
     Example of how to use this cmdlet 
    .EXAMPLE 
     Another example of how to use this cmdlet 
    #> 
    Param 
    (
     # Username of account 
     [Parameter(Mandatory=$true, 
        ValueFromPipelineByPropertyName=$true, 
        Position=0)] 
     [string[]] 
     $Identity, 

     # Exchange/AD Credentials 
     [Parameter(Mandatory=$true)] 
     [System.Management.Automation.PSCredential] 
     [System.Management.Automation.Credential()] 
     $Credential 
    ) 

    Set-PSWorkFlowData -PSAllowRedirection $true 

    ForEach -Parallel -ThrottleLimit (2) ($user in $Identity) { 
     InlineScript { 
      Get-Mailbox -Identity $using:user | Select-Object Name, PrimarySmtpAddress 
     } -DisplayName "Querying Exchange" ` 
      -PSCredential $Credential ` 
      -PSConnectionUri "https://ps.outlook.com/powershell/" ` 
      -PSConfigurationName "Microsoft.Exchange" ` 
      -PSComputerName $null ` 
      -PSAuthentication Basic ` 
      -PSConnectionRetryCount 3 ` 
    } 
}