Monday, 22 June 2015

PowerShell to update custom Sign In Page for SharePoint web application

Set-PSDebug -Strict
Set-StrictMode -Version Latest

function Ensure-WebApplicationSignInURL
{
    [CmdletBinding()]
    param 
    (
    [Parameter(Mandatory=$true)]
    [string]$webAppURL,

    [Parameter(Mandatory=$true)]
    [string]$signInURL
    )
    $webApp = Get-SPWebApplication $webAppURL
    if(($webApp.IisSettings['Default'].ClaimsAuthenticationRedirectionUrl) -eq $Null)
    {
        Write-Host "Updating Sign-In Page URL for web application $($webAppURL)"
        Set-SPWebApplication -Identity $webapp.Name -Zone:Default -SignInRedirectURL $signInURL
        Write-Host "Sucessfully updated Sign-In Page URL for $($webAppURL)" -ForegroundColor Green
    }
    else
    {
        Write-Host "Skipped updating Sign-In page URL as it already exists" -ForegroundColor Yellow
    }
}
Ensure-WebApplicationSignInURL -webAppURL "WEBAPPURL" -signInURL "SIGNINPAGEURL"

Tuesday, 16 June 2015

PowerShell script to add user to SharePoint group

Add-PSSnapin Microsoft.SharePoint.PowerShell -EA 0

function Add-UsertoAllSiteCollections
{
    [CmdletBinding()]
    param
    (
    [Parameter(Mandatory = $true)]
    [String] $webApp,
    [Parameter(Mandatory = $true)]
    [String] $userName,
    [Parameter(Mandatory = $true)]
    [String] $userEmail,
     [Parameter(Mandatory = $true)]
    [String] $userlogin
    )
    $Webs = Get-SPSite -Limit ALL -WebApplication $webApp
    foreach($site in $Webs)
    {
      $Group = $site.RootWeb.AllProperties.('ADDCUSTOMLOGICTOGETGROUPDETAILS')
      $groupName = $Group + " " + "COMMONNAMEACROSSSITECOLLECTIONS"
      Write-Host "Site collection URL:" $site
      $groupName = $site.RootWeb.Groups | ? {$_.Name -eq $groupName}
      STSADM.EXE -o adduser -url $Site.url -username $userName -useremail $userEmail -userlogin $userlogin  -group $groupName.Name
    }
}
Add-UsertoAllSiteCollections -webApp "" -userName "" -userEmail "" -userlogin ""