Update alerts by using Windows PowerShell (SharePoint Foundation 2010)
Applies to: SharePoint Foundation 2010
This article describes Invoke-AlertFixup, a Windows PowerShell advanced function used to update the Uniform Resource Locator (URL) of a Web application used in alert e-mails after a Web application address changes. It replaces the Stsadm updatealert operation that was available in the April 2008 release of the SharePoint Administration Toolkit. The advanced function is loaded by running a script of the same name.
For more information about advanced functions, see about_Functions_Advanced (https://go.microsoft.com/fwlink/p/?LinkId=196720).
To update URLs by using Windows PowerShell
Verify that you meet the following minimum requirements:
See Add-SPShellAdmin.
You must read about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050).
Copy the code from the Script Center (https://go.microsoft.com/fwlink/p/?LinkId=196687), and then paste it into a text editor, such as Notepad.
Save the file, naming it
Invoke-AlertFixup.ps1
.Note
You must use the provided name or the script will fail, and you must save the file as an ANSI-encoded text file.
On the Start menu, click All Programs.
Click Microsoft SharePoint 2010 Products.
Click SharePoint 2010 Management Shell.
Change to the directory where you saved the file.
At the Windows PowerShell command prompt, dot source the Invoke-AlertFixup.ps1 file by typing the following:
. ./Invoke-AlertFixup.ps1
Note
To dot source a script, type a dot (.) and a space before the script path. The dot sourcing feature lets you run a script in the current scope instead of in the script scope. When you run a script that is dot sourced, the commands in the script run as though you had typed them at the command prompt. For more information, see about_Scripts (https://go.microsoft.com/fwlink/p/?LinkId=239611).
This script contains the Invoke-AlertFixup advanced function. Once the script is loaded to memory for the current Windows PowerShell session, Invoke-AlertFixup can be used like a Windows PowerShell cmdlet, for example:
Invoke-AlertFixup -site <SiteCollURL> -oldurl <OldURL>
Where:
<SiteCollURL> is the Site Collection URL seen in the ImmedSubscriptions table of the content database.
<OldURL> is the old URL of the site.
Note
In order for Invoke-AlertFixup to work correctly, the URLs specified with the site and oldurl parameters must reside in the same site collection. This is necessary to allow proper updating of alerts in a specific zone. Alerts for each zone must be updated individually using the proper new zone URL to that of the original (old) zone URL.
To display all alerts that would be updated using the Invoke-AlertFixup command, at the Windows PowerShell command prompt type the following syntax:
Invoke-AlertFixup -site <SiteCollURL> -Oldurl <OldURL> -whatif
Where:
<SiteCollURL> is the Site Collection URL seen in the ImmedSubscriptions table of the content database.
<OldURL> is the old URL of the site.
Example
Your company has a Web application that is configured with three zones, as shown in the following table.
Coho Winery zone mapping
Description | URL | Zone |
---|---|---|
Intranet |
http://cohowinery |
Default |
Extranet |
http://extranet.cohowinery.com |
Extranet |
Vendor |
http://vendors.cohowinery.com |
Custom |
Your company merges with Coho Vineyard and changes its name to Coho Winery and Vineyard. Management wants to change the Intranet and Extranet zones to reflect the new name change. The following table displays the new zone configuration.
Coho Winery and Vineyard zone mapping
Description | URL | Zone |
---|---|---|
Intranet |
http://cohovineyardandwinery |
Default |
Extranet |
http://extranet.cohovineyardandwinery.com |
Extranet |
After the name of the Web application is changed and the alternate access mappings are updated, Invoke-AlertFixup should be run to update the e-mail alerts associated with the intranet and extranet sites, as follows:
Invoke-AlertFixup -site http://cohovineyardandwinery -oldurl http://cohowinery
Invoke-AlertFixup -site http://extranet.cohovineyardandwinery.com -oldurl http://extranet.cohowinery.com
Note
No changes are made regarding the vendor site, as Coho Winery has decided not to change the name of the vendor portal.
For additional information about extranet scenarios, see Design sample: Corporate deployment (SharePoint Server 2010).
See Also
Other Resources
Running Windows PowerShell Scripts
Resource Center: Windows PowerShell for SharePoint Server 2010