SecondBrain/Sharepoint/Scripte/05_Alerts.md
Ralf Koop e138992abe .
2022-12-21 12:30:21 +01:00

14 KiB

Alerts

Mittwoch, 19. Oktober 2016

16:39

 

Finally, some minimized code:

 

To delete all alerts:

$SPweb.Alerts| foreach-object {$web.Alerts.Delete($_.Id)}

 

Filter the alerts for a single list:

#For for e.g. http://SharePoint.com/site/Assets"

$SPweb.Alerts| where-object {$_.ListUrl -like "Assets"} 

 

Find all the Alerts for a specific user across the web:

# ? is the alias for where-object cmdlet

$web.Alerts | ? {$_.UserId -like "Domain\Salaudeen"}

 

Get all the alerts for a user across the entire site collection:

$site.AllWebs | select -expand Alerts | ? {$_.UserId -like "Domain\Salaudeen"

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXfZUQ00

 

Aus <http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html>

 

 

 

 

Delete user alerts in SharePoint 2010 with PowerShell

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

##### Remove all alerts for specific user from a Web Application #####

 

$SPwebApp = Get-SPWebApplication "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

$SpecificUser = "Domain\Salaudeen"

 

    foreach ($SPsite in $SPwebApp.Sites)

    {

       # get the collection of webs

       foreach($SPweb in $SPsite.AllWebs)

        {

           $alerts = $SPweb.Alerts

 

            # if 1 or more alerts for a particular user, Make a note of them by copying their ID to an Array

            if ($alerts.Count -gt 0)

            {

                $myalerts = @()

                foreach ($alert in $alerts)

                  {

                    if ($alert.User -like $SpecificUser)

                     {

                        $myalerts += $alert

                     }

                  }

 

               ### now we have alerts for this site, we can delete them

                foreach ($alertdel in $myalerts)

                {

                    $alerts.Delete($alertdel.ID)

            write-host $alertdel.ID

                }

            }

        }

    }

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXfr7B4A

 

 

 

 

**Delete All SharePoint alerts from a List using powershell **

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

##### Delete All alerts for a specific List #####

 

    $SPweb = Get-SPWeb "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

    $SPlist = $SPweb.lists["Shared Documents"]

    $IDS = ""

    foreach($alert in $spweb.alerts)

    {

        if($alert.ListID -eq $SPlist.ID)

        {

        $IDS += $alert.ID.tostring() + "|"

        }

        write-host -nonewline "*"

    }

    write-host "deleting..."

    foreach($s in $IDS.Split("|"))

    {

    write-host -nonewline "*"

    $spweb.alerts.delete([GUID]$s)

    }

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXfxPL4J

 

 

 

Find All Alerts of an User in Entire Site collection

?

1

2

3

4

5

6

7

8

9

10

11

12

13

##### Get the Alerts of Entire Site collection #####

$SPsiteCollection = Get-SPSite "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

 

# Iterate through all Webs in the Site Collection

foreach($SPweb in $SPsiteCollection.AllWebs)

 {

   foreach($alert in $SPweb.Alerts)

    {

        Write-Host "Alerts List :" $alert.ListUrl

    Write-Host "Alerts Title :" $alert.title

    write-host "Subscribed User: " $alert.user

     }

 }

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXg4wwag

 

 

 

Get Alerts for a Particular User

 

?

1

2

3

4

5

6

7

8

9

##### Get alerts for a particular user #########

$SPsite = Get-SPSite "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

$SPweb=$SPsite.RootWeb

$SPuser=$SPweb.EnsureUser('Domain\Salaudeen')

$SPalertCollection=$SPuser.Alerts

foreach($alert in $SPalertCollection)

{

 write-host -f Green $alert.Title

}

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXg9mwx4

 

 

 

Update SharePoint Alerts using PowerShell

?

1

2

3

4

5

6

7

8

9

10

#####  Making Changes in Existing Alerts ########

$SPsite = Get-SPSite "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

$SPweb=$SPsite.RootWeb

$SPuser=$SPweb.EnsureUser('Domain\Salaudeen')

$SPalertCollection=$SPuser.Alerts

foreach($alert in $SPalertCollection)

{

  $alert.AlertFrequency = [Microsoft.SharePoint.SPAlertFrequency]::Daily

  $alert.Update()

}

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXgELdLu

 

 

 

Create Alerts for All users in a Group:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

##### Set alerts for all users in the SharePoint Group ######

 

$SPweb = Get-SPWeb "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

$SPgroup = $SPweb.Groups["SharePoint Owners"]

$SPlist = $SPweb.Lists["Shared Documents"]

foreach ($SPuser in $SPgroup.Users){

     $alert = $SPuser.Alerts.Add()

     $alert.Title = "My Alert"

     $alert.AlertType = [Microsoft.SharePoint.SPAlertType]::List

     $alert.List = $SPlist

     $alert.DeliveryChannels = [Microsoft.SharePoint.SPAlertDeliveryChannels]::Email

     $alert.EventType = [Microsoft.SharePoint.SPEventType]::Add

     $alert.AlertFrequency = [Microsoft.SharePoint.SPAlertFrequency]::Immediate

     $alert.Update()

}

$SPweb.Dispose()

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXgIJ320

 

 

 

Get all Alerts for an user in SharePoint with PowerShell:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

##### Display All alerts for a Particular List ########

 

$SPWeb = Get-SPWeb "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

#Relative URL of list/document library. For lists "Lists/Tasks"

$SPListURL = "Shared Documents" 

foreach($alert in $SPWeb.Alerts)

{

    if($alert.ListUrl -eq $SPListUrl)

    {          

            "User Name    - " + $alert.User.Name

            "Title        - " + $alert.Title

            "Frequency    - " + $alert.AlertFrequency

            "Delivery Via - " + $alert.DeliveryChannels

            "Change Type  - " + $alert.eventtype

            Write-Host "=================================="

    }

}

$SPweb.Dispose()

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXgNGPtC

 

 

 

Create Alert in SharePoint using PowerShell

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

##### Create an New alert for an user #########

 

$SPsite = Get-SPSite "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

$SPweb=$SPsite.Rootweb

$SPlist=$SPweb.lists["Shared documents"]

$SPuser = $SPweb.EnsureUser('Domain\Salaudeen')

$SPnewAlert = $SPuser.Alerts.Add()

$SPnewAlert.Title = "My Custom Alert"

$SPnewAlert.AlertType=[Microsoft.SharePoint.SPAlertType]::List

$SPnewAlert.List = $SPlist

$SPnewAlert.DeliveryChannels = [Microsoft.SharePoint.SPAlertDeliveryChannels]::Email

$SPnewAlert.EventType = [Microsoft.SharePoint.SPEventType]::Add

$SPnewAlert.AlertFrequency = [Microsoft.SharePoint.SPAlertFrequency]::Immediate

$SPnewAlert.Update()

$SPweb.Dispose()

$SPSite.Dispose()

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXgS4Kus

 

 

Enable or disable alerts for Web application

?

1

2

3

4

5

6

7

8

9

## To enable alerts for Web application

 

$SPwebapp=Get-SPWebApplication "<a rel="nofollow" href="http://SharePointSite.com" class="vglnk"><span>http</span><span>://</span><span>SharePointSite</span><span>.</span><span>com</span></a>"

$SPwebapp.AlertsEnabled = $true

$SPwebapp.Update()

 

# To Disable alerts for a Web application

$SPwebapp.AlertsEnabled = $false

$SPwebapp.Update()

Read more: http://www.sharepointdiary.com/2011/11/managing-alerts-using-powershell.html#ixzz4NXgXHnhy

Oder auch

$a = Get-SPUser SERVICE\blue_runger

WebUrl eingeben zB http://pecxspp101:2016

Dann einfach nur noch

$a.Alerts