Powershell and Exchange server 2007 - multiple commands
Hi to all I need to use PS to automate some tasks: get-mailbox -identity mail.test | Set-Mailbox -AcceptMessagesOnlyFrom postmaster@TEST.group -HiddenFromAddressListsEnabled $true get-mailbox -identity mail.test | Move-Mailbox -TargetDatabase SERVER\sgd\dbd -silent get-mailbox -identity mail.test | move-QADObject -NewParentContainer TEST.group/disabled account' disable-qaduser -identity mail.test The problem is I have to find a way to launch them all togheter, not one by one, even providing multiple users. Currently I'm not able to launch a complex cmdlet because Ps accept just one command after a pipeline, and multiple pipelines are not working Can you help me? thank you very much MCT MCSE:M|S MCITP MCTS
May 24th, 2010 5:31pm

hi, Save all your commands to a file and save it as .ps1 file, say Test1.ps1. Then you can run the commands in this file in 2 ways. [all commands will run one by one] 1. Copy this file to "Scripts" folder in the exchange installation folder and then open EMS and just enter the name of .ps1 file, say Test1.ps1 and press enter. OR 2. open EMS and goto the folder where u saved your .ps1 file [like cd "yourFolderPath"] and then just enter the name of .ps1 file, say Test1.ps1 and press enter. Hope this help u. Regards,Laeeq Qazi|Team Lead(Exchange + Sharepoint + BES + DynamicsCRM) www.HostingController.com
Free Windows Admin Tool Kit Click here and download it now
May 24th, 2010 7:21pm

As Laeeq mentioned, you can add these commands to a PowerShell script. http://technet.microsoft.com/en-us/library/ee176949.aspx Santhosh Sivarajan | MCTS, MCSE (W2K3/W2K/NT4), MCSA (W2K3/W2K/MSG), CCNA, Network+ Houston, TX http://blogs.sivarajan.com/ http://publications.sivarajan.com/ This posting is provided "AS IS" with no warranties, and confers no rights.
May 24th, 2010 11:04pm

thanks for replies, but actually what I need is to do the various operations on a get-mailbox output. I need to perform them on all my disabled users, so for example: get-qaduser -disabled| Set-Mailbox -AcceptMessagesOnlyFrom postmaster@TEST.group -HiddenFromAddressListsEnabled $true get-qaduser -disabled | Move-Mailbox -TargetDatabase SERVER\sgd\dbd -silent get-qaduser -disabled | move-QADObject -NewParentContainer TEST.group/disabled account' get-qaduser -disabled | disable-qaduser I would life to find a way to get one imput (get-qaduser) on several commandsMCT MCSE:M|S MCITP MCTS
Free Windows Admin Tool Kit Click here and download it now
May 25th, 2010 6:02pm

Yes, U can do like this: get-qaduser -disabled | forEach{ Set-Mailbox $_.Identity -AcceptMessagesOnlyFrom postmaster@TEST.group -HiddenFromAddressListsEnabled $true Move-Mailbox $_.Identity -TargetDatabase SERVER\sgd\dbd -silent move-QADObject $_.Identity -NewParentContainer TEST.group/disabled account' disable-qaduser $_.Identity } so basically the get-qaduser will give you all objects one by on in foreach loop, and at one iteration u can call many operations on that user using any of the allowed attributes in the Exchange/Quest commands, like $_.Identity. Regards, Laeeq Qazi|Team Lead(Exchange + Sharepoint + BES + DynamicsCRM) www.HostingController.com
May 25th, 2010 6:10pm

Try to use variables: $users = get-mailbox -server <<server>> -resultsize unlimited Then you have your users in the $users variable. You can work with them in a foreach loop: foreach ($user in $users) { Set-Mailbox -id $user -AcceptMessagesOnlyFrom postmaster@TEST.group -HiddenFromAddressListsEnabled $true ... }
Free Windows Admin Tool Kit Click here and download it now
May 25th, 2010 6:11pm

trying but still not working. will continue tio try and post more usefull infoMCT MCSE:M|S MCITP MCTS
May 26th, 2010 4:15pm

trying but still not working. will continue tio try and post more usefull info MCT MCSE:M|S MCITP MCTS If u are having some errors then post the collection of commands u used and the error details. Regards,Laeeq Qazi|Team Lead(Exchange + Sharepoint + BES + DynamicsCRM) www.HostingController.com
Free Windows Admin Tool Kit Click here and download it now
May 26th, 2010 4:46pm

at the end I found a solution based on a simple point: -identity provided by get-qaduser is different from the one required by set-mailbox and other exchange cmdlet. Here the working script note the use of $user.dn as identity argument $users =get-qaduser -includeallproperties -sizelimit 10 -Disabled foreach ($user in $users) { Set-Mailbox -id $user.dn -AcceptMessagesOnlyFrom postmaster@TEST.com -HiddenFromAddressListsEnabled $true Move-Mailbox -id $user.dn -TargetDatabase SERVER\sgd\dbd move-QADObject -id $user.dn -NewParentContainer TEST.com/disabled account' } MCT MCSE:M|S MCITP MCTS
June 10th, 2010 12:42pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics