Tuesday, October 22, 2013

Moving Mailboxes in Exchange 2007 and 2010 via PowerShell - What is different?

Exchange 2010 treats quite differently mailbox moves than 2007 version. We were used to use Move-Mailbox cmdlet in order to move mailboxes across servers/databases instantly, however with the mailbox disconnected (offline). Now we must use New-MoveRequest cmdlet to queue up a request which will be completed in background, which means the user will still be able to use it during the operation.

Exchange 2007 syntax:

 Move-Mailbox -Identity USERNAME -TargetDatabase DATABASE -BadItemLimit INT

Exchange 2010 syntax:

 New-MoveRequest -Identity USERNAME -TargetDatabase DATABASE -BadItemLimit INT

You can get updates about the move request by using Get-MoveRequest cmdlet:


 Get-MoveRequest -Identity USERNAME

More info:
Move-Mailbox cmdlet
New-MoveRequest cmdlet
Get-MoveRequest cmdlet
Ler o texto inteiro ►

Tuesday, April 3, 2012

Delegate cannot create online meeting on behalf

Lync is designed to be used as a complete platform for communications, including instant messaging and voice over IP, so this feature will have some problems when being used for people enabled only for PC-to-PC communication as the delegate settings are on a page shown only for users enabled for enterprise voice.
  1. First you must enable the user for Enterprise Voice on Lync Server Control Panel: 
  2. Start > Programs > Microsoft Lync Server 2010 > Lync Server Control Panel 
  3. On Users tab, search for the username, double-click the user's record in the results pane 
  4. On Telephony, select "Enterprise Voice"
  5. Click Commit 
Then, after waiting about 1 hour for full propagation the user's Lync client will have the Call Forwarding Settings page and on user's computer, you'll need to follow below steps:

  1. Expand the menu, Tools > Call forwarding settings * 
  2. Click Edit my delegate members 
  3. Click Add… 
  4. Find the user you want to grant delegate rights 
  5. IF you want your delegates to receive calls on your behalf, check the box under Receive calls and select your preference on “Ring your delegates after this many seconds”. Otherwise, uncheck the box under Receive calls. 
  6. Click Ok; Click Ok. 

* If the user doesn’t have the option Call Forwarding Settings, restart the computer and try again.
Ler o texto inteiro ►

Thursday, March 29, 2012

How to show recent contacts in Lync

As a former Communicator user, I've always complained about this "new contacts list" in Lync, where are shown only the "Frequent Contacts" instead of the "Recent Contacts" I used to have in Communicator...

Today as per requested by an user, I've made some research and found an article in Technet that showed me the way to have my recent contacts back.

You just need to right-click any contact in your list and then click on Pin to frequent contacts and it will be shown at the top of the list permanently. The pinned and unpinned ones will appear separated by a gray line. You may pin as many contacts as you want.

More info in: http://blogs.technet.com/b/lync/archive/2010/11/19/the-new-and-improved-contact-list.aspx

Hope this helps,
Felipe
Ler o texto inteiro ►

Wednesday, March 28, 2012

How to Disable Outlook’s Junk E-mail Filter


Open the registry editor: go to Start > Run and type “regedit”, no quotes.

In Outlook 2007, set the following key (create the keys in the path if they do not exist *):
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\12.0\Outlook
DWORD: DisableAntiSpam
Change the value to 1 (Hex)
If you use Outlook 2010, the key is (create the keys in the path if they do not exist *):
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\outlook



Restart your computer once you have the key set.

* To create the key in case it doesn’t exit:
1. In the folder you want to create it, click Edit > New > DWORD (32-bit value)
2. Name the key “DisableAntiSpam”, no quotes
3. Double click the item and set the value to 1 and check Hexadecimal radio button. Click OK.

See ya!
Ler o texto inteiro ►

Wednesday, October 19, 2011

Script to change Site Collection Administrators in SharePoint 2007 with PowerShell

Where I work, we receive several requests for site collection admin change per week, so that's something that always bothered me, since it's not a quick task to be done when you take care of a huge number of sites. That's why I managed to create this script today, it will help me (and my team) to save some time to do other more important (and more interesting) things. Here we go:

First of all, you need to create a ps file named Set-SiteCollectionAdmin.ps1 and paste the code below. You must have another file to put the sites which will have their SCA changed, let's name this one as Site-CollectionAdmin-List.txt.

Here's how the file should be formatted:

 http://mysite1,user1@company.com,user2@company.com  
 http://mysite2,,user3@company.com  
 http://mysite1,user4@company.com,  

Note that on the first line, we are changing both the primary and the secondary SCAs, on the second one we are changing only the secondary SCA and on the third one only the primary.

Below is the source code, commented.

 # Declaring SharePoint assembly so PowerShell can use the SP object model  
 # Read more about Developing a PowerShell Script for SharePoint 2007  
 [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")  
   
 # Getting the info from the file Set-SiteCollectionAdmin-List.txt  
 # Read also about Batch process in PowerShell - Get-Content and Import-CSV cmdlets  
 get-content Set-SiteCollectionAdmin-List.txt | foreach {  
      # Splitting the row by the commas and assigning each part to one variable  
      $row = $_.split(",")  
      # Site URL  
      $url = $row[0].Trim()  
      # Primary SCA email/username  
      $prim = $row[1].Trim()  
      # Secondary SCA email/username  
      $sec = $row[2].Trim()  
        
      Write-Host ""  
   
      # Creating an URI variable to be used on the next method  
      $uri = New-Object Uri($url)  
        
      # Checking whether the mentioned site exists  
      if([Microsoft.SharePoint.SPSite]::Exists($uri))  
      {  
           # Instantiating the site collection  
           $site = New-Object Microsoft.SharePoint.SPSite($url)  
           # Opening the top level web  
           $web = $site.OpenWeb()  
        
           Write-Host $site.URL -foregroundcolor Green  
             
           # Checking whether the primary SCA will be changed  
           if($prim -ne "")  
           {  
                # Checking whether the user already exists in the site.  
                # EnsureUser() will add the user to the site collection if he doesn't exist yet.  
                $primAdm = $web.EnsureUser($prim)  
                # Changing the site owner (primary SCA) to the user.  
                $site.Owner = $primAdm  
                Write-Host "New SCA: $prim"  
           }  
             
           # Same process of the primary SCA  
           if($sec -ne "")  
           {  
                # Checking whether the user already exists in the site.  
                # EnsureUser() will add the user to the site collection if he doesn't exist yet.  
                $secAdm = $web.EnsureUser($sec)  
                # Changing the site secondary contact (secondary SCA) to the user.  
                $site.SecondaryContact = $secAdm  
                Write-Host "New Sec SCA: $sec"  
           }  
      }  
      else # if the site doesn't exist, just jump to the next row  
      {  
           Write-Host "Site $url not found. Jumping to next row." -ForegroundColor Red  
      }  
        
      # Disposing web and site objects from memory  
      $web.Dispose()  
      $site.Dispose()  
 }  

Important: I could only make this work by running powershell as the farm account. Any suggestions of how to do it without needing the would be great.
Ler o texto inteiro ►
Related Posts Plugin for WordPress, Blogger...