0

検索しようとしましたが、何も見つかりませんでした。私たちがしようとしていることはあまり一般的ではないと思います。PowerShell複数値の属性を取り込み、大文字と小文字を変換する

私は、カスタム属性プロパティと共にフィルターに従ってADユーザーを収集し、カスタム拡張スキーマとその値を使用するスクリプトを用意しています。

ユーザーに割り当てられたSMTPの履歴が格納されているsmtpHistoryという属性がありますが、既存のエントリを変換しているときに、プライマリSMTPアドレス(SMTPは大文字)として$ _小文字で私が今やっていることは上記の作品を話す

$mailHistory = $_.smtpHistory 
$lowerMailHistory = $mailHistory.tolower() 
# Insert all existing addresses in lowercase to the history attribute 
Set-ADUser $_.SamAccountName -add @{ smtpHistory= $lowerMailHistory } 
      $newMail = $_.mail 

     # Append new default email address to smtpHistory 
     #Set-ADUser $_.SamAccountNAme -Add @{ smtpHistory= "SMTP:$newMail" } 

技術的に類似している何

が、私は私が何を得るsmtpHistory属性が

smtp:[email protected] smtp:[email protected] 

のような単一の行に複数の値で確認してください1行に1つの値の代わりに

smtp:[email protected] 
smtp:[email protected] 

私がサイクリングしている方法ユーザーough foreachの($ usersProxyAddressの$ A)を用いたよう

$usersProxyAddress | ForEach-Object { ... 

経由では、各ユーザーのDNを得ていると私は、単一のプロパティ(おそらく私のせい)にアクセスすることはできません。

おそらくこれは私が見落としているばかげたものですが、問題の解決策を見つけることができず、すべてのポインタ/ヘルプが高く評価されます。

事前に感謝、ダン。

+0

どのように 'smtpHistory'属性スキーマが定義されていますか?それは複数値の属性として適切に定義されていますか? –

+0

属性は複数値のyepとして定義されています。これまでは、属性がGoogle AppsプロバイダによってエクスポートされたCSVファイルを使用して設定されていたため、メール属性からhthe値を収集する必要がありました。 – Clariollo

答えて

1
try something like this 
$mailHistory = $_.smtpHistory -join ';' 
$mHistory = $mailHistory -spilt ";" 
foreach($mH in $mHisotry) 
{ 
    #yourcode 
} 

"ドメインコントローラを今すぐ利用できないため、テストする必要があります。"

+0

どのように私は常に私と一緒に持って来るDCを持っていない来る;-) 私はこれをテストし、あなたに知らせる、より深刻な注意に、私は本当にあなたの助けに感謝します。 – Clariollo

+0

私は一歩近づいていると思います。$ mailhistoryのテキスト全体を低くする方法がまだ見つかりません。 「SMTP:」 :私はすべての私の元の問題のように、単一の行に終わるのtolower()メソッドを使用する場合、私は $ mailhistory = $ mailHistory -replace「SMTP」を使用している場合 は、同じことが起こります私はおそらくそうであるかもしれないサークルに入っているような気がします。 – Clariollo

関連する問題