Enumerace všech kolekcí webů a vypsání stavu zámku (site collection lock)

Vstupní parametry:

  • nejsou

 

Příklad:

.\CheckSiteCollectionsLock.ps1

 

<#
   .Synopsis
	Enumerate all site collections and write out lock status
   .Example
   .\CheckSiteCollectionsLock.ps1
   .Notes
	NAME: .\CheckSiteCollectionsLock.ps1
	AUTHOR: novotny@devit.cz
   .Link
	http://www.devit.cz
#>

Add-pssnapin Microsoft.SharePoint.Powershell -ErrorAction silentlycontinue

$webApps = Get-SPWebApplication | foreach {
	write-host "Web App: " $_.Url
	
	$sites = $_.Sites | foreach {
		write-host "   $($_.RootWeb.Url) ($($_.RootWeb.Title)): " -foregroundcolor Green -NoNewline
		
		if ($_.ReadOnly -eq $false -and $_.ReadLocked -eq $false -and $_.WriteLocked -eq $false) { 
			write-host "Unlocked" -foregroundcolor Green
		}
		else {
			if ($_.ReadOnly -eq $false -and $_.ReadLocked -eq $false -and $_.WriteLocked -eq $true) { 
				write-host "Adding Content Prevented" -foregroundcolor Red
			}
		    elseif ($_.ReadOnly -eq $true -and $_.ReadLocked -eq $false -and $_.WriteLocked -eq $true) { 
				write-host "Read-only" -foregroundcolor Red
			}
		    elseif ($_.ReadOnly -eq $null -and $_.ReadLocked -eq $null -and $_.WriteLocked -eq $null) { 
				write-host "No Access" -foregroundcolor Red
			}
			
			if ($_.lockissue -ne $null) {
		          write-host "      Message: $($_.LockIssue)" -BackgroundColor Red
			}
		}
	 }
 }

 

CheckSiteCollectionsLock.ps1 (1,27 kb)

CRM 2011: vypnutí kontrol “System Checks” při instalaci

Nejčastější problém při instalaci CRM 2011 jsou kontroly systémových komponent, stačí se jenom trošku odchýlit od doporučených postupů a problémy při deploy organizací jsou na snadě.

image

Vypnutím kontrol lze obejít nejčastější chyby jako:

[more]

  • A Microsoft Dynamics CRM Server 2011 component is installed on the computer where Microsoft Dynamics CRM Connector for SQL Server Reporting Services Setup is being run.
  • The SQL Server Reporting Services account is a member of the Active Directory SQLAccessGroup security group. This can occur when the Reporting Services is running under the same account as another Microsoft Dynamics CRM component.
  • All Microsoft Dynamics CRM Server 2011 components, SQL Server, and Reporting Services are installed on a computer that is running Microsoft Windows Server Small Business Edition where Microsoft Dynamics CRM Connector for SQL Server Reporting Services Setup is being run.
  • The SQL Server Reporting Services account is set as „Local Service.“

Systémové kontroly lze vypnout úpravou registrů:

  • spusťte regedit.exe
  • najděte klíč HKLM\SOFTWARE\MICROSOFT\MSCRM
  • přidejte klíč IgnoreChecks s DWORD typem a hodnotou nastavenou na 1

CRM 2011: User does not have send-as privilege. (ErrorCode: -2147203059) exception.

V CRM 2011 je defaultně zakázáno odesílání emailů, kde zvolený odesílatel je jiný uživatel než aktuálně přihlášený. To samo o sobě je logické, pokud však potřebujete udělat pracovní proces, který generuje emaily a automaticky je rovnou I odesílá, narazíte hned na tento problém, kdy uvnitř workflow vznikne výjimka s chybovým hlášením User does not have send-as privilege. (ErrorCode: -2147203059).

Cesty jak z toho ven jsou dvě:

[more]

    • přihlásit se jako uživatel, pomocí kterého se snažíte emaily odesílat a v jeho osobním nastavení povolit volbu Allow other Microsoft Dynamics CRM users to send E-mail on your behalf:
      image
    • nebo spustit SQL proceduru, která to stejné nastaví přímo v obsahové databázi CRM:

      UPDATE UserSettings
      SET IsSendAsAllowed = 1
      WHERE IsSendAsAllowed = 0

      !!! Zde je ukázka, která toto oprávnění nastaví u všech uživatelů, pokud potřebujete toto nastavení pouze pro vybrané uživatele, je potřeba přidat podmínku ještě podle UserId

Druhý krok má ještě jednu vadu na kráse, nefunguje pokud daný uživatel ještě nikdy neuložil svoje osobní nastavení. Pokud tedy máte nového uživatele, nebo čistě systémového, který se ještě nikdy nepoužil pro přihlášení a uložení nastavení, v této tabulce neexistuje a není možné tak ani nastavit hodnotu IsSendAsAllowed.