2015-07-28 3 views
1

Je viens de créer une nouvelle liste de distribution d'Outlook byt il script suivantAjouter un courriel à la liste de distribution de perspectives en utilisant Powershell

$outlook = new-object -com Outlook.Application 
$contacts = $outlook.Session.GetDefaultFolder(10) 
$dl = $contacts.Items.Add("IPM.DistLIst") 
$dl.DLName = "Group A" 
$dl.Save() 

et moi avons une adresse e-mail « [email protected] » avec le nom de être "manager"

Comment est-ce que j'utilise powershell pour ajouter ceci à la liste de distribution nouvellement créée?

Je dois utiliser powershell pour une raison quelconque, et je l'ai essayé:

Add-DistributionGroupMember -Idneity "Group A" -Member "[email protected]" 

Mais donne cette erreur:

The term 'Add-DistributionGroupMember' is not recognized as the name of a cmdlet, function, 
script file, or operable program. 

S'il vous plaît aider

[UPDATE] maintenant J'ai un script qui fonctionne:

$outlook = new-object -com Outlook.Application 
    $contacts = $outlook.Session.GetDefaultFolder(10) 
    $session = $outlook.Session 
    $session.Logon("Outlook") 
    $namespace = $outlook.GetNamespace("MAPI") 
    $recipient = $namespace.CreateRecipient("John [email protected]") # this has to be an exsiting contact 
    $recipient.Resolve() # check if this returns true 
    $DL = $contacts.Items.Add("IPM.DistList") 
    $DL.DLName = "test dl" 
    $DL.AddMember($recipient) 
    $DL.Save() 
+0

'Add-DistributionGroupMember' ne fonctionnera pas parce qu'il est une applet de commande Exchange. Vous avez un groupe local dans vos perspectives. Vraisemblablement, vous devrez utiliser 'Outlook.Application' pour l'éditer aussi. Voulez-vous l'ajouter quand il est créé ou après le fait? – Matt

+0

Je veux l'ajouter après le fait. essayé quelque chose comme ceci: $ dl.AddMember ($ newcontact) où $ newcontact est un contact nouvellement créé. mais ne fonctionne toujours pas. –

Répondre

2

AddMember ne permet de passer un objet de destinataire en tant que paramètre: appel Application.Session.CreateRecipient("[email protected]")/Recipient.Resolve/DistListItem.AddMember(Recipient).

Si vous devez ajouter un contact directement, vous pouvez utiliser Redemption et sa méthode .AddContact RDODistListItem.

MISE À JOUR: Redemption, le code suivant ajoute un membre on-off à une nouvelle liste DL:

set Session = CreateObject("Redemption.RDOSession") 
    Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
    set Contacts = Session.GetDefaultFolder(olFolderContacts) 
    set DL = Contacts.Items.Add("IPM.DistList") 
    DL.DLName = "test dl" 
    DL.AddMember("[email protected]") 
    DL.Save 
+0

J'ai fait ce $ r = $ outlook.Session.CreateRecipient ("[email protected]") $ r.Resolve $ dl.AddMember ($ r) $ dl.save() il ne donne pas d'erreur, mais le nouveau La liste créée ne contient toujours rien. Quelque chose que j'ai mal fait? –

+0

Appellez-vous DIstListItem.Save? –

+0

oui je l'ai fait, j'ai appelé $ dl.save() –