2017-07-25 12 views
0

PowerShell 5.1で、「レポート」を件名とし、メール添付ファイルをローカルドライブに保存するスクリプトを作成しました。問題は、プロダクション環境ではPowershell 2.0のみです。私はこのように私のコードで起動-RestMethodを使用しています:Invoke-RestMethodをPowerShell 2.0に置き換える方法

$url = "https://outlook.office365.com/api/v1.0/me/messages" 
$date = (get-date).AddDays(-1).ToString("yyyy-MM-dd") 
$subject = "'report'" 
$messageQuery = "" + $url + "?`$select=Id&`$filter=HasAttachments eq true and DateTimeReceived ge " + $date + " and Subject eq " + $subject 
$messages = Invoke-RestMethod $messageQuery -Credential $cred 

foreach ($message in $messages.value) 
{ 
    $query = $url + "/" + $message.Id + "/attachments" 
    $attachments = Invoke-RestMethod $query -Credential $cred 

    foreach ($attachment in $attachments.value) 
    { 
     $attachment.Name 

     # SAVE ATTACHMENT CODE HERE 
    } 
} 

はPowerShellの2.0に適したものにするためにコードを変換するための簡単な方法はありますか?

+1

[お試しください](https://social.technet.microsoft.com/Forums/scriptcenter/en-US/64c74e89-610e-4229-a56b-12f973232a0a/replace-invokerestmethod-in-powershell-20?forum = ITCG) – ConnorLSW

答えて

0
Invoke-WebRequest 

このコマンドは、基本的にはそれを受信した後、データをどのように扱うかを除いてInvoke-RestMethodと同じです。あなたはあなたのデータをどのように解析するかについて少し修正を加える必要があります。

私はあなただけConvertFrom-JSONにごInvoke-WebRequestコマンドとパイプそれを実行し、VARに結果を割り当てますので、あなたはJSONデータを受信して​​いる賭けます。これにより、次のようなことができます$x.messages | % { $_ }

2.0でこのコンバータを実装する必要があります。 PowerShell 2.0 ConvertFrom-Json and ConvertTo-Json implementation

XMLはPS 2.0でネイティブにサポートされています。

+0

答えをありがとうが、私はそれを正しく使う方法がわからない。 – szach

関連する問題