0

PowerShell を使用して Office 365 アカウントに接続する次のコードがあります。

$Cred=GET-CREDENTIAL 
Write-Host "Connecting..."
IMPORT-MODULE MSONLINE
CONNECT-MSOLService -credential $Cred
$s = NEW-PSSESSION -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
$importresults=import-pssession $s
Write-Host "Connected to exchange server"

しかし、これは事実上、new-pssession で 1 回、connect -MSOLService で 1 回、2 回接続するため、両方を同時に実行できるはずです。

$Cred=GET-CREDENTIAL 
Write-Host "Connecting..."
IMPORT-MODULE MSONLINE
$j = start-job -scriptBlock { CONNECT-MSOLService -credential $Cred }
$s = NEW-PSSESSION -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
$importresults=import-pssession $s
wait-job $j
Write-Host "Connected to exchange server"

しかし、これは実際には機能しません(変数のスコープに問題があると思いますか?これは可能ですか/どうすればよいですか?

4

2 に答える 2

1

これを試して:

Start-Job -scriptblock {Param ($cred) CONNECT-MSOLService -credential $Cred} -ArgumentList $cred
于 2011-09-26T14:23:08.163 に答える
1

多分無理だろうという結論に達しました。問題は、ログイン コマンドが実行されるコンテキストを変更することですが、非同期ジョブ内で実行される場合はコンテキストが異なることだと思います。

于 2012-02-14T14:21:52.570 に答える