1

クライアントで実行されているPowerShellスクリプトからExchange 2010のアドレス帳にアクセスすることは可能ですか? アドレス帳にアクセスし、プロパティで検索し、結果を処理したいです。PowerShell、Exchange 2010アドレス帳

EWSとPowerShellのチュートリアルはありませんでした。

[Reflection.Assembly]::LoadFrom("path to ews.dll") 


$ExchangeService = new-object ExchangeServiceBinding 

$paramName = New-Object UserConfigurationNameType 
$paramName.Item = New-Object FolderIdType 
$paramName.Name = "CategoryList" 

$params = New-Object GetUserConfigurationType 
$params.UserConfigurationName = $paramName 
$params.UserConfigurationProperties = [UserConfigurationPropertyType]::ALL 


$ExchangeService.UseDefaultCredentials 
$ExchangeService.Url = "https://path.to.exchange/EWS/Exchange.asmx" 
$ExchangeService.GetUserConfiguration($params) 

答えて

1

は、Exchange EWSのAPIをマネージド必要があります。

http://msdn.microsoft.com/en-us/library/dd637749.aspx

+0

私はそれを試しましたが、動かすことはできません。 – LaPhi

+0

Glen Scaleのブログの例を見ましたか?彼はPowershellでEWSを使用することについての優れた例をいくつか持っています。 http://gsexdev.blogspot.com/ – mjolinor

2

私はPowerShellのことは知らないが、あなたは、Exchange管理シェル(EMC)で、これを達成することができます。 PowerShell v2.0 +はリモートセッションを実行できるため、クライアントからEMCコマンドを使用できます。もちろん、彼らはこれを行うために何らかの交換権を必要とするでしょう。 RBACを使用すると、Exchange 2010で便利なことに、ユーザーにわずかなExchange権限を与えることができます。これがオプションでない場合は、LDAPクエリを実行することができます(これはOutlookの機能です)が、正確な手順はわかりません。それがオプションである場合


しかし、:その後

1. Initiate your remote PowerShell session. 
1a. $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionURI http://FQDNofCAS/PowerShell/ -Authentication Kerberos 
1b. Import-PSSession $session 

、次のいずれかを試してみてください。

1. Get-GlobalAddressList 
1b. Note the GAL you'll be using 
2. $GAL = (Get-GlobalAddressList "Default Global Address List").DistinguishedName 
2b. Replace _Default GAL_ with the output of step one. 
3. Get-GlobalAddressList $GAL | Update-GlobalAddressList 
4. Get-Recipinet -Filter {Addresslistmembership -eq $GAL} 
4b. -Filter may require some tweaking to your specifics. 

注:こののより良い説明のためhttp://www.msexchange.org/articles_tutorials/exchange-server-2007/management-administration/address-lists-exchange-2007-part1.htmlを参照してください。

- または -

1. Get-User | where($_.RecipientType -like "*Mail*"} 

注:これは、すべてのメールが有効なユーザーが表示されますので、それはあなたが探している正確に何ではないかもしれません。

関連する問題