Pipelining in Exchange Management Shell can be very powerful. For instance if you do this command
get-mailbox | where-object { $_.name -like “john*” } | set-Mailbox -MaxSendSize 100mb
It will do the first part before the first pipe get-mailbox you can then use the where command to select particular mailboxes finally the second pipe can be used to apply a 3rd command to all of the mailboxes that match this criteria.
More examples:
Get -AddressList | export -csv “c:tempAddresslist.csv”
get-Mailbox | set -mailbox -storagequota 100mb
get-mailbox | -organizationalunit “sales” | set-mailbox -maxsendsize 5mb
move-mailbox -sourceforest n2networksolutions.com -targetForest jeremywhittaker.com -targetdatabase “mailbox store 10” N2Storedb1
disable-mailbox n2networksolutionsjeremy
get-mailbox -database “db1” | disable-mailbox -whatif
new-storagegroup -server severN2 -name “sales storage group” -logfilelocation “f:logssalesStorageGroup”
set-storagegroup “sales storage group” -circularloggingenabled $true
move-storagegrouppath “sales” -logfolderpath “g:logssales” -systemfolderpath “H:databasessales”
new-mailboxdatabase -storagegroup “serverN2first storage group” -name “technical support team”
mount-database “serverN2First Storage Grouptechnical support team”