~ Just do I(nformation)T(echnology) ~

Forefront Identity Manager Basics voor SharePoint 2010 admins

Nu SharePoint 2010 Forefront Identity Manager gebruikt voor profiel synchronisatie, is het tijd voor ons SharePoint admins om wederom een nieuw product te leren, althans in den basis.

Forefront Identity Manager of FIM, is onderdeel van een bredere set aan tools binnen het Identity Management werkgebied. Het biedt synchronisatiemogelijkheden van Identity Informatie tussen verschillende bronnen, en zit daar als controlerend component met bijgeleverde metabase tussen. Zo is het mogelijk informatie over personen vanuit bijvoorbeeld HR systemen te synchroniseren naar bijvoorbeeld AD, SQL of LDAP. Verder biedt het ook nog de mogelijkheden om nieuwe objecten aan te maken om zo opgenomen te worden in een breder provisioning proces, met daaraan gekoppelde functionaliteit om bijvoorbeeld wachtwoorden te synchroniseren.

Omdat FIM binnen SharePoint bedoeld is voor profiel synchronisatie, zal ik laatstgenoemde functionaliteiten buiten beschouwing laten. Deze blog post richt zich puur op synchronisatie van gebruikers informatie. Ook zal ik het alleen het standaard Active Directory scenario belichten. De principes hierachter zijn gelijk voor andere sources.

(voor informatie over de User Profile Service binnen SharePoint zie: http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/SharePoint-2010-user-profile-service.aspx)

Overview

FIM bestaat normaal gesproken uit een aantal onderdelen, namelijk:

  • Forefront Identity Manager Service:
    Windows Service die de kernactiviteiten (ook synchronisatie) van FIM controleert.
  • Forefront Identity Manager Synchronization Service:
    Windows Service die communiceert met de verschillende data sources.
  • Forefront Identity Manager Portal:
    Self service portal en management portal voor Identity Management activiteiten (account, group beheer etc).
  • Forefront Identity Manager Password Portal
    Self service portal en management portal voor password management.

Wanneer je binnen SharePoint een User Profile Application provisioned, en vervolgens de User Profile Synchronization Service start binnen Central Admin (Services on Server), zal SharePoint FIM configuren. Hierbij worden alleen de FIM Service en FIM Synchronization Service geconfigureerd. De beide portals komen niet beschikbaar.

De belangrijkste concepten rondom de FIM Synchronization Service zijn de management agents, connector space en Metaverse:

  • Management agents zijn stukjes code die gebruikt worden om een data source (AD, SQL, LDIF file) te kunnen doorlopen. Zie het als een SharePoint protocol handler in 2007.
  • Connector space is eigenlijk niets meer dan een tijdelijke werkruimte voor de verschillende management agents om informatie vanuit de data sources te kunnen bewerken (op basis van policies en workflows) voordat het naar de metabase (Metaverse) wordt geschreven. In het geval van SharePoint zijn het een set tabellen in de Synchronization database die je aanmaakt, wanneer je een User Profile Application aanmaakt. Een connector space object (representatie van bijv AD user in connector space, zoals gedefinieerd binnen de Management Agents) wordt altijd aan een Metaverse object (representatie van bijv. AD user in de Metaverse, zoals gedefinieerd door het Metaverse schema) gekoppeld via 'attribute flow' rules.
  • Metaverse is een compleet overzicht van alle attributen uit de verschillende data sources met additionele metadata in 1 centrale directory (Meta Directory). Dit om te kunnen bepalen wat bijvoorbeeld de primaire bron is van een bepaald attribuut. Dit is ook niet meer dan SQL tabellen in de Synchronization database.

Vermoedelijk ben je nu nog steeds erg verward… Misschien dat het volgende plaatje wat meer duidelijkheid schept:

Wat hier geschetst wordt is in een notendop wat de Synchronization Service doet:

  1. FIM haalt door code in de management agent (onthoudt: geen service of echte agents, gewoon een stukje code wat in de context van de Synchronization service draait) gegevens op uit een datasource en slaat het op in de connector space.*
  2. In de connector space kan de management agent op basis van policies nog van alles doen met de opgehaalde gegevens. Een makkelijk voorbeeld is om vreemde tekens uit een string te halen.
  3. De data wordt in de Metaverse weggeschreven.
  4. Bepaalde management agents halen deze eventueel nieuwe data op uit de Metaverse en slaan het op in de connector space.
  5. In de connector space kan de management agents op basis van policies weer van alles doen met deze data. Misschien moet er aan een username een aantal voorloopkarakters worden toegevoegd omdat deze niet voldoet aan een minimaal aantal karakters.
  6. De data wordt weggeschreven naar de data source.

* Heel belangrijk in dit concept is dat er in een dergelijk scenario altijd maar 1 master source is voor een bepaald attribuut. Een username kan dus maar op 1 data source gewijzigd worden. Uiteraard kan je ervoor kiezen een username niet te synchroniseren naar een bepaald data source, door het bijvoorbeeld helemaal niet mee te nemen in de configuratie, of alleen voor een initiële provisioning te kiezen. Je kunt het username dan wel gewoon wijzigen, zonder de kans dat het overschreven wordt door een wijziging in de master source.

Configuratie en troubleshooting

Voordat we over gaan tot inzage in de configuratie tool, laat ik alvast even heel duidelijk zijn:

Bij FIM binnen SharePoint 2010 doe je de configuratie vanuit SharePoint. Afblijven dus verder!!!

De configuratie tool voor FIM is echter wel handig bij troubleshooten, vandaar wat meer uitleg. De tool die je gebruikt voor het configureren van de FIM services rondom synchronisatie is de Synchronization Service Manager , en te vinden onder 'C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe'.

Deze tool bestaat uit een aantal onderdelen:

  • Operations – toont een overzicht van operaties die uitgevoerd worden en uitgevoerd zijn geweest.
  • Management Agents – Configuratieonderdeel voor de management agents.
  • Metaverse Designer – Configuratieonderdeel voor het Metaverse schema.
  • Metaverse Search – Search tool voor de Metaverse
  • Joiner – Configuratieonderdeel om connector space objecten te (ont)koppelen aan Metaverse objecten.

In de volgende paragraven zal ik elk van deze onderdelen iets meer belichten.

Operations

De Operations tab zul je veel gebruiken als SharePoint beheerder bij het troubleshooten van issues. Dit geeft een veel uitgebreider overzicht weer van de status van de verschillende operaties als binnen de User Profile Service. Selecteer gewoon een regel en zie wat voor informatie deze geeft. Het geeft bijvoorbeeld weer welke wijzigingen er gemaakt zijn, en – nog belangrijker – welke dus niet.

Management Agents

De Management Agents tab toont de verschillende Management Agents. Voor SharePoint 2010 zijn het er standaard 3 nadat je een profile import connection voor AD hebt gemaakt:

  • De ILMMA agents is van het type 'FIM Service Management Agent' en wordt niet gebruikt. Deze type agent wordt alleen gebruikt in de volledige installatie van FIM en wordt gebruikt voor workflow van bijv. Password Portal.
  • De MOSS-<GUID> agents is van het type 'Extensible Connectivity' en deze babbelt met de SharePoint profile database via een code in Microsoft.Office.Server.UserProfiles.ManagementAgent.dll. Dit connector type is dus bedoeld om je eigen Management Agents mee te bouwen. Hiervan is er dus altijd maar 1. In SharePoint 2010 kan je maar 1 User Profile Service hebben per 'User Profile Synchronization Service'. Je kunt uiteraard wel meerdere servers inzetten, en dus meerdere service instances inzetten.
  • De MOSSAD-<naam van SharePoint import connection> is van het type 'Active Directory Domain Services' en babbelt – hoe kan het ook anders – met AD. Voor elke import connectie die je binnen SharePoint aanmaakt komt er een extra management agent bij. Het type verschilt uiteraard per import connectie type. Een connectie voor een 'Active Directory Resource' begint bijv. met MOSSADR-.

De management agents worden voorgeconfigureerd bij het deployen van de User Profile Service en het aanmaken van de Import connections. De configuratie is de bereiken door het context menu van een management agent op te vragen:

Properties bevat de meeste configuratie. De configuratie van deze management agents wordt voor een groot deel bepaald door Rules Extentions, welke opgenomen zijn in de Configure Extention Settings sectie, wanneer je de properties opvraagt van de management agent. Dit is een binary (Microsoft.Office.Server.UserProfiles.ActiveDirectoryMAExtension.dll bijvoorbeeld voor AD types) die het overgrote deel van de configuratie van de management agent bepaald. Nogmaals: niet aan de configuratie komen dus!!

Configure Run Profiles bevat de configuratie van de eigenlijke Operations die je terug ziet in het Operations configuratieonderdeel. Een management agent die geen run profiles heeft, doet dus niets. SharePoint stuurt het aftrappen van deze run profiles dus aan. Dat is wat je ziet in de logs.

Een run profile bevat 1 of meerdere stappen. Een stap voert 1 operatie uit. Je kunt kiezen uit de volgende operaties:

Operatie

Omschrijving

Delta Import (stage only)

Importeert gewijzigde objecten uit de data source naar de connector space.

Full Import (stage only)

Importeert alle objecten uite de data source naar de connector space.

Delta Import and Delta Synchronization

Importeert gewijzigde objecten uit de data source naar de connector space. Vervolgens wordt na het processen van de verschillende rules, de gewijzigde data gesynchroniseerd de MetaVerse.

Full Import and Delta Synchronization

Importeert alle objecten uit de data source naar de connector space. Vervolgens wordt na het processen van de verschillende rules, alleen gewijzigde data gesynchroniseerd de MetaVerse.

Full Import and Full Synchronization

Importeert alle objecten uit de data source naar de connector space. Vervolgens wordt na het processen van de verschillende rules, alle data gesynchroniseerd de MetaVerse.

Delta Synchronization

Na het processen van de verschillende rules, wordt de gewijzigde staged data gesynchroniseerd de MetaVerse.

Full Synchronization

Na het processen van de verschillende rules, wordt alle staged data gesynchroniseerd de MetaVerse.

Export

Data uit de connector space wordt weggeschreven naar de data source. Dit is altijd een delta; alleen gewijzigde data wordt weggeschreven.

 

Ook hier mag je eigenlijk niets wijzigen.

Om te troubleshooten zijn er een aantal onderdelen waar je waardevolle informatie vandaan kunt halen of extra logging kunt aanzetten:

  1. Object Types en Attributes – In de properties van de management agents (verschilt per management agents, maar nagenoeg dezelfde informatie is altijd beschikbaar) is te vinden welke objecten en bijhorende attributen door de management agent behandeld worden. Wanneer er zich problemen voordoen kan je in de tool verifieren of de informatie die jij verwacht ook daadwerkelijk verwerkt word. Voor AD agents heten deze onderdelen Select Object Types en Select Attributes.
  2. Connector Filter – De 'Configure Connector Filter' settings in de properties van een management agent bepalen welke objecten en attributen gefilterd moeten worden.
  3. Attribute Flow – De 'Configure Attribute Flow' laat zien hoe de connector space attributen gekoppeld zijn aan de Metaverse attributen. Dit stelt je in staat te controleren of de juiste informatie aan elkaar geknoopt wordt.

    Voorbeeld:
    Op de AD management agents is givenName in de connector space (bron=AD dus) gekoppeld aan givenName in de Metaverse. Flow direction is Import dus de waarde wordt vanuit AD naar de Metaverse gebracht:

    Op de MOSS management agent is FirstName in de connector space (MOSS Profile database dus) gekoppeld aan givenName in de Metaverse. Flow direction is Export dus de waarde wordt vanuit de Metaverse naar de Profile Database gebracht.

    Zo kan je de gehele flow dus controleren.
  4. Run Profiles – Je kunt aan de run profiles zien wat voor type operatie het is. Als er dus iets mis gaat, kan je beter pinpointen waar je het moet zoeken. Verder kan je in de run profiles onder de configuratie van Steps een logfile aan laten maken met extra informatie. Dit kan erg handig zijn. Je kiest dan voor Configure Run Profiles > Edit Step > Set Log File Options

Metaverse Designer

De Metaverse Designer heb je echt niets te zoeken. Je kunt hier het schema zien van de metaverse, maar meer informatie valt er niet te halen.

Metaverse Search

De Metaverse Search kan erg handig zijn. Je kunt hiermee in de Metaverse zoeken en nagaan of jouw verwachte objecten aanwezig zijn met de juiste attribuut waarden:

Het zoeken spreekt voor zich. Na het zoeken dubbelklik je een result en krijg je een uitgebreid overzicht op de Attributes tab van hoe het object is opgenomen in de Metaverse:

Op de Connectors tab krijg je een overzicht van de connector spaces waar dit object mee gejoined is. Wanneer je vervolgens een management agent selecteert, kun je kiezen voor Properties, waarna je een overzicht krijgt van hoe het object er in de connector space uitziet. Verder bevat dit scherm informatie over wanneer het type object en wanneer de laatste wijzigingen zijn geweest in de connector space. Op zich handige informatie, maar de meest handige functionaliteit hier is Preview. Onder aan het scherm is een Preview knop. Wanneer je deze gebruikt kom je in een venster waar je een Full of Delta synchronisatie kunt simuleren van die management agent (ofwel synchronisatie vanuit de connector space richting de metaverse). Je krijgt dan een compleet overzicht van wat er zou gebeuren als je nu zou synchronizeren. Je kunt bijvoorbeeld ook checken wat voor resultaten dat zou hebben voor de Export operaties van andere management agents. In mijn geval heb ik voor het schrijven van http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/SharePoint-2010-profiel-synchronisatie-export.aspx het property department gewijzigd zodat deze vanuit SharePoint zou synchen met AD. Je ziet in onderstaand voorbeeld dat mijn FULL synch zou zorgen dat de AD management agent bij de Export operatie het attribute department gaat proberen te exporteren, maar dat de Final Value (Unchanged) is. Het is dus ondertussen niet gewijzigd.

Joiner

In joiner kun je zoeken naar objecten in connector spaces die niet gekoppeld zijn aan objecten in de metaverse. Ik kan niet zo snel een situatie bedenken dat je hier graag zou willen kijken. Je zou hier hoogstens even kunnen kijken of bepaalde objecten gefilterd zijn door rules door te zoeken op Filtered Disconnetors. Echter, aangezien rules nagenoeg allemaal gebaseerd zijn op Rules Extentions, valt er verder weinig aan te troubleshooten. Misschien dat na gelang de tijd vordert zich nieuwe toepassingen aandoen, maar vooralsnog zou ik Joiner links laten liggen.

Troubleshooting

Naast de eerder genoemde plekken waar je relevante informatie kunt vinden, is er binnen deze tool ook nog de mogelijkheid op twee plekken wat extra logging aan te zetten:

  1. Extra logging in Application Log:
    1. Open de Microsoft.ResourceManagement.Service.exe.config file in 'C:\Program Files\Microsoft Office Servers\14.0\Service'.
    2. Verander de waarde van Error naar "Verbose".
    3. Herstart de Forefront Identity Manager Service.
  2. Trace logging – Je kunt EWT tracing gebruiken om extra informatie boven tafel te toveren, maar dit is alleen nodig bij in-depth troubleshooting en wil je alleen doen op aanwijzen van een Microsoft Support engineer. Meer hierover is te vinden op http://msdn.microsoft.com/en-us/library/ff357801.aspx

Sharepoint 2010 – User Profile Service timerjobs en CMDLets

Deze laatste post in de blog serie over de User Profile Service toont een overzicht van Timer Jobs en CMDLets die gebruikt (kunnen) worden bij beheer van de User Profile Service. Eerdere blog posts in deze series zijn:

http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx

Timerjobs

De User Profile Service leunt op een groot scala aan timerjobs. De volgende lijst geeft daarvan een overzicht.

  • User Profile Service - Activity Feed Cleanup Job
    Ruimt activiteiten ouder dan 14 dagen op data op uit de Social Database.
  • User Profile Service - Activity Feed Job
    Verzamelt informatie op basis van changelogs in de Social en Profile database, en maakt daar activiteiten van die getoont kunnen worden in bijv. News Feeds.
  • User Profile Service - Audience Compilation Job
    Voorziet profiles van Audience lidmaatschap.
  • User Profile Service - My Site Suggestions Email Job
    Stuurt emails rondom My Sites. Bijvoorbeeld herinnerings emails als de My Site al enige tijd niet is bijgewerkt.
  • User Profile Service - Social Data Maintenance Job
    Voert administratieve taken uit rondom Social data, zoals het opschonen van changelogs in de Social Database, het aanpassen van Tags en notes na wijzigingen in termstores en profiles toevoegen aan crawls, wanneer social data wijzigt.
  • User Profile Service - Social Rating Synchronization Job
    Zorgt voor het synchroniseren van Rating informatie tussen Social database en content databases.
  • User Profile Service - System Job to Manage User Profile Synchronization
    Maakt elke minuut connectie met Forefront Identity Manager om status informatie op te halen of taken af te trappen.
  • User Profile Service - User Profile Change Cleanup Job
    Schoont de change log op in de User Profile database.
  • User Profile Service - User Profile Change Job
    Verwerkt wijzigingen aan User Profiles.
  • User Profile Service - User Profile Incremental Synchronization
    Stuurt incremental profile synchronization aan.
  • User Profile Service - User Profile Language Synchronization Job
    Zorgt bij nieuwe language packs, dat localized strings in de profielen worden aangepast.
  • User Profile Service - User Profile to SharePoint Full Synchronization
    Verzorgt de profiel synchronisatie tussen Profile database en content databases (Server naar Foundation profielen), en haalt memberships op.
  • User Profile Service - User Profile to SharePoint Quick Synchronization
    Zorgt voor profiel synchronisatie van nieuwe gebruikers vanuit Profile database naar content databases.
  • My Site Cleanup Job
    Start bij het verwijderen van een profiel uit de profiel database een workflow, waarbij de manager site owner wordt en een email krijgt. De workflow is aan te passen.

Powershell CmdLets

Voor diegene die liever met Powershell werkt, is de User Profile Service, zoals nagenoeg elke Service Application, prima te beheren via Powershell. De volgende Powershell CmdLets zijn te gebruiken:

Cmdlet name 

Omschrijving

Syntax 

Add-SPSiteSubscriptionProfileConfig  

Voegt in multi-tenant scenarios een nieuwe site subscription toe aan de Service Application. 

Add-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-SynchronizationOU <String>] [-WhatIf [<SwitchParameter>]]

Get-SPProfileServiceApplicationSecurity

Laat security informatie zien over de Service Application. 

Get-SPProfileServiceApplicationSecurity -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-Type <String>]

Move-SPProfileManagedMetadataProperty  

Verplaatst Profile Property naar een managed termset in de Managed Metadata Service. Wanneer je geen termset opgeeft komt deze in de Keywords term set te staan. 

Move-SPProfileManagedMetadataProperty -Identity <String> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-AvailableForTagging <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-TermSetName <String>] [-WhatIf [<SwitchParameter>]]

New-SPProfileServiceApplication  

Maakt een nieuwe User Profile Service Application aan 

New-SPProfileServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-ProfileDBCredentials <PSCredential>] [-ProfileDBFailoverServer <String>] [-ProfileDBName <String>] [-ProfileDBServer <String>] [-ProfileSyncDBCredentials <PSCredential>] [-ProfileSyncDBFailoverServer <String>] [-ProfileSyncDBName <String>] [-ProfileSyncDBServer <String>] [-SocialDBCredentials <PSCredential>] [-SocialDBFailoverServer <String>] [-SocialDBName <String>] [-SocialDBServer <String>] [-WhatIf [<SwitchParameter>]]

New-SPProfileServiceApplicationProxy  

Maakt een nieuwe User Profile Service Application Proxy aan 

New-SPProfileServiceApplicationProxy -Uri <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Remove-SPSiteSubscriptionProfileConfig  

Verwijdert in multi-tenant scenarios een site subscription van de Service Application. 

Remove-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Remove-SPSocialItemByDate

Verwijdert Tags, notes, of ratings uit de Social Databases.

Remove-SPSocialItemByDate -EndDate <DateTime> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-RemoveComments <$true | $false>] [-RemoveRatings <$true | $false>] [-RemoveTags <$true | $false>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WhatIf [<SwitchParameter>]]

Set-SPProfileServiceApplication  

Wijzigt eigenschappen van de User Profile Service Application.

Set-SPProfileServiceApplication [-Identity] <SPServiceApplicationPipeBind> [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-GetNonImportedObjects <$true | $false>] [-MySiteHostLocation <SPSitePipeBind>] [-Name <String>] [-ProfileDBCredentials <PSCredential>] [-ProfileDBFailoverServer <String>] [-ProfileSyncDBCredentials <PSCredential>] [-ProfileSyncDBFailoverServer <String>] [-PurgeNonImportedObjects <$true | $false>] [-SocialDBCredentials <PSCredential>] [-SocialDBFailoverServer <String>] [-UseOnlyPreferredDomainControllers <$true | $false>] [-WhatIf [<SwitchParameter>]]

Set-SPProfileServiceApplicationProxy  

Wijzigt de eigenschappen van een User Profile Service Application Proxy.

Set-SPProfileServiceApplicationProxy [-Identity] <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-MySiteHostLocation <SPSitePipeBind>] [-MySiteManagedPath <SPPrefixPipeBind>] [-Name <String>] [-SiteNamingConflictResolution <String>] [-WhatIf [<SwitchParameter>]]

Set-SPProfileServiceApplicationSecurity  

Wijzigt security informatie van een Service Application.

Set-SPProfileServiceApplicationSecurity -Identity <SPObjectSecurity> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-Type <String>] [-WhatIf [<SwitchParameter>]]

Set-SPSiteSubscriptionProfileConfig  

Wijzigt de eigenschappen van een site subscription in een multitenant scenario. 

Set-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-SynchronizationOU <String>] [-WhatIf [<SwitchParameter>]]

Update-SPProfilePhotoStore  

Update een profile photo store om te kunnen werken met Microsoft SharePoint Server 2010.
Alleen te gebruiken na een upgrade van Sharepoint 2007 naar 2010.

Update-SPProfilePhotoStore -MySiteHostLocation <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

De volledige blog serie bestaat uit:

  1. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
  2. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
  3. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
  4. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
  5. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
  6. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets.aspx

 

Posted door Mark Priem | met no comments

Sharepoint 2010 – My Sites

In deze vijfde post in de User Profile Service series ga ik in op de 'My Sites'. Eerdere posts in deze serie:

http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx  

In het aantal en type componenten rondom 'My Sites' is eigenlijk weinig veranderd in 2010. Onderstaande afbeelding geeft deze schematisch weer.

Het begint bij de gebruiker die via browser of client applicatie verbinding maakt met bijvoorbeeld een teamsite binnen een web applicatie. Door vervolgens de standaard 'My Site' web control te gebruiken, wordt er een call naar de User Profile Service gemaakt om de 'Trusted My Site Host location' voor de gebruiker op te halen. Deze wordt vervolgens doorgestuurd naar een lokale of remote 'My Site Host'.

De 'My Site Host' is gebaseerd op de SPSMSITEHOST site definitie en bevat een default.aspx pagina die content toont vanuit de desbetreffende My Site, en profiel van de gebruiker. Deze pagina wordt standaard getoond, en bevat de 'What's New' webpart, welke een News Feed toont met recente activiteiten van de gebruiker en directe collega's.

Ook host deze site de profiel pagina (person.aspx), waar gebruikers de profielen van henzelf en anderen kunnen zien, en mogelijk wijzigen, wanneer zij kiezen voor de 'My Profile' link . Door middel van de 'My Content' link, komt men op hun eigen 'My Site' uit.

De 'My Site', gebaseerd op de SPSMSITE site definitie, is een persoonlijke site voor de gebruiker. De gebruiker is hiervan 'site owner' en 'site collection administrator', en kan er dus mee doen wat hij/zij wil.

Een laatste component wat in een lokale deployment meespeelt is de 'Timer Service'. Deze beheert via de 'My Site Cleanup' en 'User Profile Service – My Site Suggestions Email Job' timer jobs de My Sites. Zo zorgt de Cleanup job ervoor dat, na verwijdering van een profiel uit de Profile Database, de manager van deze persoon de volledige rechten krijgt, en een email notificatie. De Suggestions job stuurt periodiek een email met bepaalde 'suggesties' rondom Keywords en Collega's wanneer het profiel langer dan een maand niet van updates is voorzien.

In een global deployment wordt een gebruiker op basis van zijn of haar 'Trusted My Site Host location' mogelijk doorgestuurd naar een remote farm. Het probleem hierbij is dat Social- en Profiel Data dynamisch is, en verschilt per farm. Om dit tegen te gaan is er – net als in 2007 – de optionele 'User Profile Replication Engine' welke gebruikt wordt om Social Data als Tags en keywords, en profiel data te repliceren tussen twee User Profile Service Applications.

De sites

Zoals gezegd spelen er twee belangrijke sites mee, namelijk de 'My Site' zelf en de 'My Site Host'. Zoals gezegd is de 'My Site' zelf redelijk basic gebleven, en is er niet heel veel gewijzigd ten opzichte van 2007. Het is een simpele site met een tweetal document libraries 'Shared Documents' en 'Personal Documents'. Deze zijn bedoeld voor het opslaan van privé documenten, en documenten die gedeeld kunnen worden met anderen. Het grote verschil met 2007, is dat de MySite root site, eigenlijk niet direct toegankelijk is voor anderen, ook al heeft 'NT AUTHORITY\AUTHENTICATED USERS' read rechten op de site. Gebruikers worden door een speciaal web control doorgestuurd naar de Person.aspx profiel pagina van de 'My Site Host', welke geaggregeerde data laat zien van de eigenlijke 'My Site'. Via het breken van de overerving van rechten (Limited Access) kan je wel direct rechten toekennen aan lijsten en items, die wel direct toegankelijk zijn (een veelgebruikte toepassing zullen Discussion Boards zijn). De My Site root zal alleen direct gebruikt worden door de eigenaar van de site.

De 'My Site Host' pagina, waarvan er 1 per User Profile Service is, heeft wel een flinke facelift ondergaan. Het is bijna een Social Portal geworden. Het bestaat uit een aantal onderdelen:

  • My News Feeds
    Dit is de default pagina (default.aspx), welke standaard de 'What's New' webpart bevat. Deze webpart toont recente activiteiten, waarop je je kunt inschrijven.
  • My Content
    My Content redirect naar de mysite.aspx pagina, wat de pagina is die je ofwel redirect naar je eigen mysite of een nieuwe mysite voor je aanmaakt (wanneer je daar rechten toe hebt).
  • My Profile
    Dit is de nieuwe profiel pagina (person.aspx), welke profiel informatie bevat.

De structuur van de 'My Site Host' is hieronder schematisch weergegeven.

De 'News Feed' pagina, is de default pagina, welke de recente activiteiten van jouw collega's bevat. Deze activiteiten worden bepaald op basis van jouw subscriptions. Deze zijn te wijzigen door te kiezen voor My Interests of Newsfeed Settings binnen deze webpart. In beide gevallen wordt je profiel in edit mode geopend (/_layouts/EditProfile.aspx). In de Newsfeed Settings sectie kan je de instellingen aanpassen. De meeste instellingen spreken voor zich. Je kunt bij Interests opgeven welke interests jij hebt. Mocht er iemand in zijn profiel dezelfde interests toevoegen, wordt jij daarvan op de hoogte gesteld via de activity web parts. Deze activiteiten worden op basis van changelogs in de Profile- en Social databases gecreëerd door de User Profile Service - Activity Feed Job timer job en opgeslagen in de Social database.

Vanuit de 'News Feed' pagina kun je naar de Profiel pagina, door te kiezen voor My Profile of naar je eigen 'My Site' door te kiezen voor My Content.

De profiel pagina is de meest uit het oog springende. Deze heeft echt een flinke facelift ondergaan ten opzichte van SharePoint 2007. Ik zal niet alle pagina's in detail behandelen, maar de nieuwe person.aspx en /_layouts/thoughts.aspx verdienen wel extra aandacht. Alle pagina's die gekoppeld zijn aan het profiel gebruiken een custom masterpage die je profiel foto, met een call-out (die vrij aan te passen is. Hoe cool zou het zijn, als dat gekoppeld werd aan OCS J) , en een aantal tabbladen welke verwijzen naar de verschillende overige pagina's.

De person.aspx pagina is de pagina achter 'Overview', welke de Ask Me About, Recent Activities, My Organization Chart, In Common with You en Note Board web parts laat zien.

De 'Ask Me About' web part laat het gelijknamend veld in jouw profiel zien. Wanneer iemand een link klikt, worden ze doorverwezen naar het 'Note Board' onderaan de overview pagina, waar dan een berichtje achtergelaten kan worden wat begint met 'Question about Sharepoint:', waarbij Sharepoint dan de link in de 'Ask Me About' was, waarop geklikt werd.
De 'Recent Activities' spreekt voor zich, en is een overzicht van jouw recente activiteiten.
De 'My Organization Chart' is een tree view van de organisatie, gebaseerd op de 'Manager', 'Direct Reports' en 'Department' velden uit Active Directory. Deze kan je verder manipuleren door je 'Colleagues' aan te passen onder de 'Colleagues' tab.
De 'In Common with You' web part laat gedeelde managers, collega's en site memberships zien. Tenslotte kun je in het 'Note Board' web part een notitie achterlaten.

De 'Tags & Notes' tab, vind ik persoonlijk een hele leuke tab. Hier kun je al je Tags en Notities centraal managen:


Je kunt op deze manier content terugvinden op basis van Tags (alhoewel Search hiervoor toch wel een betere oplossing is), en je kunt je Tags verwijderen of 'Private' maken. Door middel van de Refine by … web parts kun je heel gemakkelijk de Tags en Notes anders sorteren. De Add Sharepoint Tags and Note Tool werkt een beetje omslachtig, maar is een handige tool. Wanneer je deze als bookmark toevoegt aan bijvoorbeeld Internet Explorer (in mijn geval Tag Site), kun je heel gemakkelijk externe sites taggen. Er wordt dan een javascript aangeroepen die de url van de pagina meeneemt en toevoegt aan de tag.

Het allerleukste heb ik tot het laatst bewaard. Als je goed kijkt naar deze 'Tags & Notes' pagina, zie je dat alle tags in de Activities for: web part hyperlinks bevatten. Wanneer je dan vervolgens zo'n tag aanklikt, kom je op de Tag Profile pagina (/mysitehost/tagprofile.aspx), waar je een overzicht ziet van alle plekken waar deze tag gebruikt is.

Zo kun je zien in welke term set de tag is opgenomen, waaar de tagged items zijn, en de tag meteen toevoegen in jouw profiel. Zo kun je zorgen dat je op de hoogte gehouden wordt, van waar die tag gebruikt wordt, of toevoegen aan de 'Ask About Me'. Ook kun je op deze tag weer een Notitie achterlaten. Ik kan mij niet echt voorstellen waarom je dit zou willen, maar het kan. Tenslotte kun je nog kiezen voor See all results for this tag in search. Het resultaat mag duidelijk zijn. Meer hierover in mijn volgende blog post series over Search.

De overige tabbladen op de profiel pagina's vind ik minder interessant. Zo is de 'Organization' tab een pagina met een SilverLight control die hetzelfde laat zien als de 'My Organization Chart' web part op de 'Overview' tab, maar dan als mooie SilverLight animatie. Verder hebben we nog de 'Colleagues' en 'Memberships' tabbladen die – hoe kan het ook anders – collega's en site memberships tonen (alleen waar je lid bent van site members, geen andere Sharepoint groups), en de mogelijkheid bieden deze te manipuleren. Tenslotte is er nog de 'Content' tab, die we reeds besproken hebben in het stukje over de 'My Site'. Deze bevat een overzicht van recente blog posts, en content waar jij eigenaar van bent, op sites binnen jouw memberships.

Configuratie

Als je mijn blog post series hebt gevolgd, weet je al wat nodig is om 'My Sites' te hosten. Om toch het een en ander samen te vatten. Heb je voor de 'My Sites' het volgende nodig.

  1. Creëer een web applicatie voor de My Sites.
    http://technet.microsoft.com/en-us/library/cc261875(office.14).aspx
  2. Creëer een My Site Host site collection.
    1. Maak de site collectie in de nieuw aangemaakte web applicatie.
    2. Gebruik de My Site Host template (onder de Enterprise tab)
  3. Creëer een managed path voor de My Sites web applicatie.
  4. (Optioneel) Activeer self-service-site creation
    http://technet.microsoft.com/en-us/library/cc261685(office.14).aspx
    Deze actie stelt gebruikers met de juiste rechten in staat om zelf sites te creëren. Dit is nodig voor de My Site host om het mogelijk te maken om My Sites automatisch te laten genereren. De gebruiker moet dan wel 'Use Self-Service Site Creation' rechten hebben.
  5. (Optioneel) Creëer een User Policy om site creation rechten te delegeren.
    1. Browse naar Application Management > Manage Web Applications
    2. Selecteer de nieuw aangemaakte web application.
    3. Kies in de Ribbon voor Permission Policy onder de Policy sectie.
    4. Selecteer Add Permission Policy Level.
    5. Geef de policy een naam, kies voor Allow en het recht Use Self-Service Site Creation, en selecteer OK.
    6. Kies in de Ribbon voor User Policy onder de Policy sectie.
    7. Selecteer Add Users.
    8. Laat de dropdown box op 'All Zones' staan en kies Next.
    9. Geef NT Authority\Authenticated Users op als security principle in de Choose Users sectie, selecteer de zojuist aangemaakte permission policy in de Choose Permissions sectie, en selecteer OK.
  6. Verwijs een 'User Profile Service' naar de juiste zojuist aangemaakte 'My Site Host':
    1. Browse naar Application Management > Manage Service Applications > User Profile Service > Setup My Sites
    2. Geef in de My Site Host Location de volledige URL op van de 'My Site Host'.
    3. Geef in de Personal Site Location het managed pad op wat je hebt aangemaakt.
    4. Verdere settings die nog gewijzigd kunnen worden:
      1. Preferred Search Center – Wijzigt het default Search Center en scopes voor de My Site Host profiel pagina.
      2. Site Naming format – Bepaald de url van de nieuwe My Sites. Je kunt hier kiezen de gebruikersnaam te gebruiken of een combinatie van domein en gebruikersnaam om conflicten te voorkomen.
      3. Language Options – Bepaald of gebruikers een eigen taal mogen kiezen voor hun My Site.
      4. Read Permission Level – Bepaald welke accounts read rechten krijgen op de My Sites.
      5. My Site E-Mail notifications – Bepaalde welk sender en reply-to adres gebruikt wordt bij het versturen van notificatie emails.
    5. Selecteer Ok om de wijzigingen op te slaan.
  7. Zorg dat de gebruikers de juiste rechten hebben om de features te gebruiken en om de My Sites aan te maken (standaard staat dit goed via 'Authenticated Users'):
    1. Browse naar Application Management > Manage Service Applications > User Profile Service > Manage User Permissions
    2. Zorg dat de gebruikers de Use Personal Features en Create Personal Site rechten hebben.

Alle web applicaties die verbonden zijn met de Service Application proxy group waar deze 'User Profile Service' onder valt kunnen nu gebruik maken van de functionaliteiten van de 'My Sites'.

De overige configuratie die gedaan kan worden rondom 'My Sites' is niet veel gewijzigd in 2010. Via Configure Trusted Host Locations geef je 'My Site Host' locaties op die je kunt gebruiken in Audiences om gebruikers naar andere 'My Site Hosts' te sturen, in omgevingen waar meerdere SharePoint farms draaien. Published links to Office client applications en Configure Personalization Site stellen je in staat om links naar interne of externe links toe te voegen aan hetzij de 'My Site Host' toplink bar, ofwel aan de Office client applicaties. In combinatie met audiences, kan je deze links targetten op groepen gebruikers.

De volledige blog serie bestaat uit:http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets.aspx

 

Posted door Mark Priem | 1 comment(s)

SharePoint 2010 – Social Tags, Notes en User Ratings

Social Tags, Notes en User Ratings is functionaliteit van de User Profile Service die de mogelijk maakt om content van tags en notities te voorzien, en te waarderen. Deze social features zijn out-of-the-box redelijk basic, maar bieden erg gave mogelijkheden als je een ontwikkelaar hiermee aan de slag laat gaan. Het basis framework voor het verzamelen van deze informatie en wat out-of-the-box voorbeelden zal ik laten zien in deze vierde post in de User Profile Service serie. Eerdere posts:

http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/SharePoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/SharePoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/SharePoint-2010-profiel-synchronisatie-export.aspx

Ik begin met wat voorbeelden. Het gros van de Social Features zijn meteen beschikbaar als de User Profile Service configureert. Om te beginnen met de Social Tags en Notes; Het is mogelijk om op content te voorzien van Tags en Notes. De meest opvallende plek waar je dit kunt doen is de 'I Like it' en 'Tags & Notes' die aanwezig zijn op elke pagina:

'I Like It' voegt een simpele 'I Like It' tag toe aan de Social Database. De 'Tags & Notes' stelt je in staat om andere tags toe te voegen dan het saaie 'I Like It' ('I Hate It' bijvoorbeeld J). Verder stelt het je in staat om Notities toe te voegen aan de site. Een erg simpele maar leuke functionaliteit:

Het houdt echter niet op bij tags en notes op pagina's. Elke lijst kan voorzien worden van een tags kolom. Dit kan in de vorm van 'Managed Metadata' of 'Enterprise Keywords' kolommen. 'Managed Metadata' kolommen koppel je aan term sets, waardoor de keuzes beperkt worden. 'Enterprise Keywords' zijn kolommen die je vrij kunt invullen. Terwijl je typt worden er suggesties gedaan op basis van term sets, en 'Enterprise Keywords' die reeds gebruikt zijn. In het voorbeeld hieronder is te zien dat er 2 suggesties worden gedaan, waarvan 1 uit de term set 'CallOuts' en 1 uit 'Keywords'.

Keywords worden altijd terugggeschreven naar de Managed Metadata Service, zodat ze door anderen gebruikt kunnen worden. 'Enterprise Keywords' moet geactiveerd worden in de settings van de lijst, onder 'Enterprise Metadata and Keywords Settings'. Hier geef je aan dat de lijst voorzien moet worden van een 'Enterprise Keyword' kolom en dat de Keywords teruggeschreven moet worden naar de Managed Metadata Service. Verder kan je hier aangeven dat het taggen van content in de lijst wordt doorgegeven aan de User Profile Service, zodat deze als activiteiten in News Feeds gebruikt kunnen worden. Meer over News Feeds in de post over My Sites.

Ratings aanbrengen op content is iets wat je op een lijst kunt configureren. Je krijgt dan een Rating kolom, welke je kunt gebruiken om content van een rating te voorzien. Dit zijn gemiddelde ratings, dus deze stijgen en dalen naar gelang er meer mensen content waarderen

Componenten

Om te begrijpen hoe het transportmechanisme werkt, hieronder een schematisch overzicht van de verschillende componenten die meespelen:

Tags, Notes en Ratings lijken totaal verschillende dingen, maar zijn gebaseerd op dezelfde mechanismen. Een gebruiker kan content taggen, raten en van notities voorzien, waarna de code in de User Profile Service ervoor zorgt dat dit weggeschreven wordt naar de Social Database. Dezelfde calls worden gebruikt voor Ratings, Notes en Tags, waarbij een type veld aangeeft om wat voor type bericht het gaat. Om te bepalen bij welke gebruiker dit bericht hoort, wordt er een relatie gelegd tussen de Social Database en de Profiles Database, zodat gebruikers informatie niet meerdere malen wordt opgeslagen.

Tags kunnen gebaseerd worden op Terms uit de Term Store. Wanneer een term uit de termstore gebruikt wordt als Tag, wordt de Term ID en de waarde opgeslagen in de Social Database. De reden dat de waarde daar ook in wordt opgeslagen – dubbele data dus – is om ervoor te zorgen dat tags behouden blijven ook als de Managed MetaData service er niet meer is.

De Search Service Application wordt gebruikt om Social data te crawlen, zodat er ook op Tags gezocht kan worden. Dit gebeurt gedurende de normale crawls. Hiervoor hoeft niets speciaals te gebeuren. Search wordt verder gebruikt tijdens het tonen van Social Data (bijvoorbeeld Notes). Dit omdat Social Data moet security trimmed zijn. Er wordt een request gedaan naar de User Profile Service, en tegelijkertijd wordt er gecontroleerd of de User voor het specifieke stukje content, waarop de Note van toepassing is, ook rechten heeft. Dit gebeurt middels Search. Dit kan ervoor zorgen dat, wanneer je net rechten hebt gekregen, het enige tijd kan duren voordat je de Social Data van anderen ziet.

Tenslotte zijn er verschillende timer jobs die Social Data verwerken. Wanneer een gebruiker een Notitie of Tag maakt, wordt dat eerst weggeschreven in een ChangeLog. Dit zorgt voor een snelle inserts, met minimale impact op SQL resources. Timerjobs zorgen in een later stadium dat deze batchgewijs worden verwerkt naar tabellen waar de uiteindelijke user requests op terecht komen. Standaard draaien deze elk uur. Dit is puur vanuit performance oogpunt gedaan. Anders had voor elke Insert er een call gedaan moeten worden naar de Profile Store om de actuele profiel informatie op te halen. Social Data is dus niet altijd actueel. Een ander belangrijke taak van de timerjobs is het opschonen van oude Social Data en Changelogs en het sychroniseren van Ratings naar de content database.

Wanneer je content van een Rating voorziet, zal dit opgeslagen worden in de Social Database. Op de site zie je vervolgens nog niets, behalve als je over de Rating kolom 'hovert'. Er wordt dan een call naar de backend gedaan om jouw rating op te halen:

Pas nadat de 'User Profile Service - Social Rating Synchronization Job' heeft gedraaid, wordt de gemiddelde Rating voor dat stukje content zichtbaar in de content database.

Configuratie en management

Om de eerdere genoemde functionaliteit te gebruiken moet er een en ander geconfigureerd worden:

  1. (Volg de procedures uit de eerdere posts om de User Profile Service te implementeren)
  2. Creëer een Managed Metadata Service Application.
    http://technet.microsoft.com/en-us/library/ee530392(office.14).aspx
    1. Configureer een term (set) met de checkbox Allow for tagging
  3. Creëer een Search Service Application.
    http://technet.microsoft.com/en-us/library/ee792877.aspx
    1. Configureer crawl schedules.
  4. Zorg dat de farm feature Social Tags and Note Board Ribbon Controls geactiveerd is (System Settings > Farm Features. Deze is standaard actief, en zorgt voor de 'I Like It' en 'Tags & Notes' controls.
  5. Zorg dat de gebruikers het recht User Social Features hebben toegewezen gekregen in Application Management > Manage Service Applications > User Profile Service > Manage User Permission
  6. Sta ratings toe op een lijst door te kiezen voor List Settings > Rating Settings > Allow items in this list to be rated.
  7. Sta 'Enterprise Keywords' toe op een lijst door te kiezen voor List Settings > Enterprise Metadata and Keywords Settings > Add an Enterprise Keywords column to this list and enable Keyword synchronization.
  8. Sta Keyword synchonisatie met de User Profile Service toe door te kiezen voor List Settings > Enterprise Metadata and Keywords Settings > Add values in Managed Metadata and Enterprise Keywords fields to My Site profiles as social tags.

Om Social Data te managen zijn er drie niveaus:

  1. Gebruikers kunnen hun eigen Social Data managen op de site en content zelf.
    Dit gaat op dezelfde manier als hoe je nieuwe Social Data toevoegt. Wanneer je content getagged hebt of hebt voorzien van notities, kun je altijd terug om deze te wijzigen.
  2. Gebruikers kunnen hun eigen Social Data centraal managen via de profiel pagina op de MySite host.
    Dit gaat via de Tags and Notes tab op de profiel pagina. Meer hierover in mijn post over My Sites.
  3. User Profile Service Administrators kunnen Social Data centraal managen via de User Profile Service admin pagina.
    1. Browse naar Application Management > Manage Service Applications > User Profile Service > Manage Social Tags and Notes met een account dat het recht Manage Social Data heeft toegewezen gekregen via de Administrator settings van de User Profile Service.
    2. Gebruik het zoek mechanisme om tags en notes te zoeken op basis van gebruiker, url, datum en tekst.
    3. Selecteer de notes of tags die verwijderd moeten worden en selecteer Delete:

De volledige blog serie bestaat uit:
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets.aspx

Posted door Mark Priem | 3 comment(s)

SharePoint 2010 - Profiel Synchronisatie (Export)

Dit is het derde deel in de serie over de User Profile Service. Deze post behandelt profiel synchronisatie. Het behandelt het exporteren van profieldata naar AD. Voordat je deze post leest, lees eerst de volgende blog posts:

http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx

In de vorige post hebben we het alleen gehad over het importeren van profiel informatie, maar zoals gezegd kunnen we nu ook informatie terugschrijven naar AD. Onderstaand voorbeeld laat zien hoe je eigenschappen terug kunt schrijven naar AD.

Voordat we kunnen beginnen met de configuratie aan de Sharepoint-kant, moeten er rechten gezet worden in AD:

  1. Open Active Directory Users and Computers of de domain context in AdsiEdit.msc.
  2. Op elk OU (of alleen op domain level) waar je gebruikers hebt zitten die binnen de synchronisatie connectie vallen moet je voor het synchronisatie account Write en Create all child objects rechten toekennen. Alleen toekennen is echter niet voldoende. Wanneer je de gebruiker hebt toegevoegd, selecteer dan Advanced.
  3. Selecteer de permissieset die je zojuist hebt toegevoegd (replicate changes staat er ook nog tussen, maar die moet je dus niet hebben), en selecteer Edit.
  4. Uit de Apply to dropdown box kies je vervolgens This object and all descendant objects.
  5. Selecteer een aantal keer OK om de wijziging door te voeren.

Wanneer deze rechten goed staan kunnen we properties gaan configureren die we willen exporteren. Als voorbeeld neem ik Department.

  1. Browse naar Application Management > Manage Service Applications > User Profile Service > Profile Properties.
  2. Selecteer Edit vanuit het contextmenu van het Department property.
  3. In de Property Mapping for Synchronization sectie, zie je aan welk AD attribuut dit property gekoppeld is. Dit moet je onthouden, omdat we deze opnieuw gaan aanmaken.
  4. Selecteer Remove om de mapping te verwijderen.
  5. Maak een nieuwe mapping aan met Direction = Export.
  6. Selecteer OK om het property op te slaan.

Verifieer nu of de export werkt. Wijzig een profiel:

  1. Application Management > Manage Service Applications > User Profile Service > User Profiles.
  2. Zoek een profiel en selecteer Edit My Profile vanuit het context menu.
  3. Wijzig het Department veld:
  4. Start een incremental synchronisatie vanuit Application Management > Manage Service Applications > User Profile Service.
  5. Controleer het attribuut in Active Directory:

Mocht je nu geen wijziging zien, dan is dat meestal te wijten aan onvoldoende rechten in AD. In de Sharepoint UI zie je echter geen foutmeldingen, maar als je de FIM tooling opent, zie je het wel:

Dubbel- en tripplecheck dus die rechten.

De volledige blog serie bestaat uit:
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets.aspx

Posted door Mark Priem | 7 comment(s)

SharePoint 2010 - Profiel Synchronisatie (Import)

Dit is het tweede deel in de serie over de User Profile Service. Deze post behandelt profiel synchronisatie. Het behandelt het importeren van profieldata. Voordat je deze post leest, lees eerst de volgende blog posts:

http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx

Profiel synchronisatie zorgt voor het vullen en actueel houden van profiel data. Zoals gezegd in eerdere blog posts gaat dat nu via de FIM services.

Voordat we kunnen na gaan denken over het synchroniseren van profieldata, moeten we eerst de User Profile Service Application aanmaken en configureren. Hiervoor is het eerst nodig om een My Site infrastructuur klaar te zetten, om de volledige functionaliteit te kunnen benutten.

  1. Maak een service account aan voor de profile import.
  2. Zorg dat het account 'replicate-changes' rechten krijgt in AD. Dit is nodig om via een AD Server extension changes aan objecten uit te kunnen lezen.
    http://support.microsoft.com/kb/303972
  3. Creëer een web applicatie voor de My Sites.
    http://technet.microsoft.com/en-us/library/cc261875(office.14).aspx
  4. Creëer een My Site Host site collection.
    1. Maak de site collectie in de nieuw aangemaakte web applicatie.
    2. Gebruik de My Site Host template (onder de Enterprise tab)
  5. Creëer een managed path voor de My Sites web applicatie.
  6. (Optioneel) Activeer self-service-site creation
    http://technet.microsoft.com/en-us/library/cc261685(office.14).aspx
    Deze actie stelt gebruikers met de juiste rechten in staat om zelf sites te creëren. Dit is nodig voor de My Site host om het mogelijk te maken om My Sites automatisch te laten genereren. De gebruiker moet dan wel 'Use Self-Service Site Creation' rechten hebben.
  7. (Optioneel) Creëer een User Policy om site creation rechten te delegeren.
    1. Browse naar Application Management > Manage Web Applications
    2. Selecteer de nieuw aangemaakte web application.
    3. Kies in de Ribbon voor Permission Policy onder de Policy sectie.
    4. Selecteer Add Permission Policy Level.
    5. Geef de policy een naam, kies voor Allow en het recht Use Self-Service Site Creation, en selecteer OK.
    6. Kies in de Ribbon voor User Policy onder de Policy sectie.
    7. Selecteer Add Users.
    8. Laat de dropdown box op 'All Zones' staan en kies Next.
    9. Geef NT Authority\Authenticated Users op als security principle in de Choose Users sectie, selecteer de zojuist aangemaakte permission policy in de Choose Permissions sectie, en selecteer OK.
  8. Creëer een User Profile Service Application.
    1. Browse naar Application Management > Manage Service Applications.
    2. Selecteer in de Ribbon New > User Profile Service Application
    3. In het Create New User Profile Service Application scherm vind je de standaard opties terug voor het aanmaken van een service application.
      Hierbij moet je de namen van de eerder genoemde databases opgeven en een Application Pool.
      De opties waar je verder op moet letten zijn Profile Synchronization Intance, My Site Host URL, My Site Managed Path, en Site Naming Format.

      1. Profile Synchronization Instance bepaald welke server het synchronisatie process gaat draaien (1 van de actieve service instances ).
      2. De My Site Host URL dient de URL te krijgen van de My Site Host die we in eerdere stappen hebben aangemaakt.
      3. De My Site Managed Path dient het managed path te krijgen die we in eerdere stappen hebben aangemaakt.
      4. Site Naming Format bepaald hoe de My Sites genoemd worden bij het aanmaken. In single-domain deployments is een site gebaseerd op User Name prima, maar in omgevingen met meerdere domeinen/forests is het aan te raden te kiezen voor een syntax die dit soort conflicten verhelpt.
    4. Klik Create om de Service Application aan te maken.

Nu de service application aangemaakt is, moet er een synchronisatie connectie aangemaakt worden naar Active Directory. Om dit voor elkaar te krijgen:

  1. Browse naar Application Management > Manage Service Applications > User Profile Service > Synchronization Connections
  2. Selecteer Create New Connection.
  3. Geef hier de settings op voor de connectie. De instellingen spreken eigenlijk voor zicht, maar
    vergeet niet het profile import account, dat we eerder hebben aangemaakt, te gebruiken in Connection Settings.
  4. Selecteer OK.
  5. Om filters aan te maken, bijvoorbeeld om disabled accounts te filteren, selecteer je de zojuist aangemaakte connectie en kies je Edit Connection Filters vanuit het context menu.
  6. Maak hier je filter en selecteer OK om het filter op te slaan. Disabled accounts filteren gaat als volgt:

De Service Application is nu klaar. Wat rest is om de User Profile Service en User Profile Synchronization Service services te starten op een Sharepoint server:

  1. Browse naar System Settings > Manage Services on Server.
  2. Start eerst de User Profile Service, en vervolgens de User Profile Synchronization Service.
  3. Selecteer de zojuist aangemaakte Service Application en geef het Farm account op (dus het account van de central admin apppool en de timer service).
  4. Selecteer OK en 'keep your fingers crossed'.

De service wordt nu provisioned, wat inhoudt dat FIM geconfigureerd wordt. Dit houdt dus ook in dat op dat moment de SQL tabellen en stored procedures worden aangemaakt in de Synchronisatie database. Dit is het punt waar, als je tegen fouten aan zou lopen, je er tegen aan loopt. Als je in eerdere stappen bijvoorbeeld onvoldoende rechten in AD hebt gegeven of de User Profile Service niet hebt gestart, gaat alles stuk, en kan je meestal niet anders dan helemaal opnieuw beginnen. Deze integratie werkt wat mij betreft op het provisioning vlak nog niet goed. Zodra deze service gestart is, wat ZEER lang kan duren, is alles klaar voor de eerste import.

Om een profile synchronisatie te starten, selecteer je simpelweg Start Profile Synchronization vanuit Application Management > Manage Service Applications > User Profile Service.

Het synchronisatie proces zal starten. De voortgang kan je in hetzelfde venster monitoren. Synchroniseren gaat meestal zonder problemen. Als je het eenmaal allemaal werkend hebt, werkt het ook goed. De verschillende fasen en management/control activiteiten maken het, in vergelijking met Sharepoint 2007, erg traag voor kleinere omgevingen. Dit wordt echter goed gemaakt door een veel snellere doorvoer in grote omgevingen.

Als je met deze status niet uit de voeten kunt, kun je altijd nog de FIM configuratie client gebruiken, welke te vinden is onder 'C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe'. Hier is een uitgebreidere status te volgen:

Wat nu nog rest is de synchonisatie van de profiel informatie in de Profile Database naar de Sharepoint Foundation profielen (WSSv4 profielen). Dit proces is nagenoeg ongewijzigd ten opzichte van 2007. Wat namen van stored procedures e.d. zijn veranderd, maar verder is het redelijk hetzelfde proces. Voor een beschrijving hiervan, check mijn blog post over Profiel Synchronisatie in Sharepoint 2007: http://blogs.microsoft.nl/blogs/mpriem/archive/2010/01/11/ssp-profile-synchronisatie-in-sharepoint.aspx

De volledige blog serie bestaat uit:
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets.aspx

 

Posted door Mark Priem | 11 comment(s)

SharePoint 2010 – User Profile Service

Deze serie van posts gaat over de User Profile Service, een van de vele nieuwe Service Applications die SharePoint 2010 rijk is. In deze post ga ik proberen duidelijk te maken waar deze set aan functionaliteiten uit bestaat en wat je moet doen om het draaiende te krijgen, want simpel is dat allerminst.

Overview

De User Profile Service is een Shared Service Application* welke een centrale locatie biedt om instellingen te managen voor de volgende features:

  • User Profiles – Een user profile is een item waarin persoonlijke informatie is opgeslagen rondom een gebruiker.
  • My Sites –My Sites zijn persoonlijke sites waar gebruikers hun profielen kunnen bijwerken en biedt een persoonlijke locatie waar gegevens vanuit SharePoint geaggregeerd kan worden, en waar gebruikers persoonlijke items kunnen opslaan.
  • Profiel Synchronisatie – Net als in SharePoint 2007 is het mogelijk profiles te importeren uit verschillende account sources. Nieuw in SharePoint 2010 is de mogelijkheid om informatie terug te schrijven naar deze sources.
  • Audiences – Audiences zijn een soort groepen van gebruikers, en stellen je in staat om content te targetten op basis van zo'n audience. Lidmaatschap van een audience wordt bepaald op basis van profile data, zoals bijvoorbeeld afdeling, locatie of functie.
  • Social Tags en Notes – Social Tags en Notes zijn stukjes metadata wat gebruikers aan SharePoint items kunnen meegeven.

Om het volledige spectrum aan features te kunnen leveren maakt de User Profile Service gebruik van een aantal andere Shared Services, waarvan de belangrijkste zijn:

  • Managed Metadata Service – Levert de mogelijkheid profile properties aan te bieden op basis van metadata terms uit de termstore.
  • Search Service – Wordt gebruikt om de people search functionaliteit te kunnen bieden.
  • Business Connectivity Service – Wordt gebruikt om profile imports te doen uit custom account sources zoals SQL databases.

*Het is belangrijk op te merken, dat ondanks in technische documentatie wordt gerefereerd aan een Shared Service of Shared Service Application, dat de term Service en Service Application niet staan voor een fysieke service of applicatie. Het is een benaming voor onderdelen binnen het Shared Services architectuur model van SharePoint 2010.
Zo is een Shared Service niet altijd een fysieke Windows Service, noch Web Service. Het is een beschrijving van een stuk functionaliteit dat aangeboden wordt. Het bestaat uit de code en datastores die uiteindelijk de functionaliteit bieden. De logische en fysieke structuur wijzigt. Zo kan het slechts een set .NET binaries zijn, maar ook een combinatie van verschillende windows en web services, met meerdere databases als back-end datastores.
Veel verwarrender is de term Service Application. Een Service Application is geen applicatie. Het is een logische configuratiecontainer die SharePoint hanteert om configuratie rondom Services bij te houden, bijvoorbeeld over de rollen die een bepaalde service 'hosten'. Het is verder een logische interface om een service te kunnen managen. Een Service Application is dus verder niets, alle fysieke componenten worden geleverd door de Service zelf.

Componenten

Wanneer we naar de componenten kijken van de User Profile service dat zouden we dat schematisch als volgt kunnen tekenen:

De User Profile Service bestaat eigenlijk uit drie hoofdcomponenten, namelijk:

  1. Service Databases
  2. User Profile Service
  3. User Profile Synchronization Service

De Service databases zijn:

  • Profile Database – Bevat de profielen.
  • Synchronization database – Bevat de configuratiedata en tijdelijke data voor het synchronisatiemechanisme.
  • Social Tagging Database – Bevat social tags en notes, die door de gebruikers worden aangebracht aan content.

De eigenlijke code die de functionaliteit biedt (User Profile Service) is aanwezig op elk systeem na installatie. Dit is gewoon een set binaries op het filesysteem. De User Profile Service binaries zijn te vinden in de GAC (Microsoft.Office.Server.UserProfiles en Microsoft.Office.Server.UserProfiles.Synchronization). Deze draaien gewoon in de context van de verschillende web applicaties en de timerservice.

De Synchronization service is gebaseerd op Forefront Identity Manager. In een nutshell is dit een stripped-down installatie van FIM, welke zeer solide synchronisatie beidt tussen verschillende Identity stores. Variërend van AD, tot BCS, tot LDAP tot flat files. Meer hierover heb ik beschreven in deze blogpost: http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/forefront-identity-manager-basics-voor-sharepoint-2010-admins.aspx 

De integratie met FIM biedt de volgende voordelen:

  • Synchronisatie vs. Import. Het is nu dus mogelijk terug te schreven naar een data source.
  • Schaalbaar. Het schaalt beter dan onze search crawler in 2007, die er niet voor ontworpen was. Ook is er de mogelijkheid tot loskoppelen built-in installatie en opname in een reeds bestaande installatie van FIM.
  • Aanpasbaar. Doordat FIM de onderlaag is, is het mogelijk allerlei geavanceerde policies toe te passen. Je kunt bijvoorbeeld data transformeren en valideren voordat het gesynchroniseerd wordt.
  • Standaardisatie. FIM is een product binnen een bredere strategie rondom Identity Management. Het koppelen van SharePoint aan FIM, is een vorm van integratie en standaardisatie, en verlaagt zo de inspanning voor beheer.

Dit is in een nutshell een overzicht van de componenten van de User Profile Service. De volgende blogposts bevatten een overzicht over het toepassen en gebruiken van de functionaliteit.

De volledige blog serie bestaat uit:
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets.aspx

 

Posted door Mark Priem | 18 comment(s)

Stsadm vs Powershell

Zoals de meesten zal je erg moeten wennen aan de vele nieuwe powershell commando's. In 2007 kon je de stsadm commando's dromen en nu komt Microsoft ineens met een vloot aan nieuwe commando's.

Voor jou hebben we nu een compleet overzicht van de stsadm commando's en hun powershell zusje:

Stsadm operation

Windows PowerShell cmdlet

Activatefeature

Enable-SPFeature (http://technet.microsoft.com/library/9b68c192-b640-4cb8-8a92-a98008169b27(Office.14).aspx)

Activateformtemplate

Enable-SPInfoPathFormTemplate (http://technet.microsoft.com/library/0f487359-a8dd-4128-83f2-d575df1325c6(Office.14).aspx)

Addalternatedomain

New-SPAlternateUrl (http://technet.microsoft.com/library/450f057d-1cb8-4680-b28d-0db4d1b7e09c(Office.14).aspx)

Addcontentdb

Mount-SPContentDatabase (http://technet.microsoft.com/library/20d1bc07-805c-44d3-a278-e2793370e237(Office.14).aspx)

New-SPContentDatabase (http://technet.microsoft.com/library/18cf18cd-8fb7-4561-be71-41c767f27b51(Office.14).aspx)

Adddataconnectionfile

Install-SPDataConnectionFile (http://technet.microsoft.com/library/a8878fd9-a8b4-44aa-9c48-0b688bd50a91(Office.14).aspx)

Add-ecsfiletrustedlocation

New-SPExcelFileLocation (http://technet.microsoft.com/library/b2a4d454-7dff-45eb-8e19-34d029183288(Office.14).aspx)

Add-ecssafedataprovider

New-SPExcelDataProvider (http://technet.microsoft.com/library/6f2cbbe8-05ba-40e4-ba30-3bcd287fd7a2(Office.14).aspx)

Add-ecstrusteddataconnectionlibrary

New-SPExcelDataConnectionLibrary (http://technet.microsoft.com/library/d1c3d83f-4904-4981-8a2d-bdbfc20518f3(Office.14).aspx)

Add-ecsuserdefinedfunction    

New-SPExcelUserDefinedFunction (http://technet.microsoft.com/library/eb554e4b-3113-44c1-8c32-93df85e1696e(Office.14).aspx)

Addexemptuseragent

Add-SPInfoPathUserAgent (http://technet.microsoft.com/library/3870f83e-0f93-4c4f-9175-69aad8baad14(Office.14).aspx)

Addpath

New-SPManagedPath (http://technet.microsoft.com/library/5d30deac-e368-4137-89b5-a20c0785b2a4(Office.14).aspx)

Addpermissionpolicy

None

Addsolution

Add-SPSolution (http://technet.microsoft.com/library/0c64c1ac-39c0-4d5e-923f-27d0c48b006a(Office.14).aspx)

Addtemplate

Install-SPWebTemplate (http://technet.microsoft.com/library/576c5c5d-c389-4eda-b7d5-ac378f674289(Office.14).aspx)

Adduser    

New-SPUser (http://technet.microsoft.com/library/b8d7f8df-d5df-4497-a55b-dbe56b1c6fbb(Office.14).aspx)

Addwppack

Install-SPWebPartPack (http://technet.microsoft.com/library/b4245f30-c369-4b91-b4bd-1048a2abd384(Office.14).aspx)

Addzoneurl    

New-SPAlternateUrl (http://technet.microsoft.com/library/450f057d-1cb8-4680-b28d-0db4d1b7e09c(Office.14).aspx)

Allowuserformwebserviceproxy

Set-SPInfoPathWebServiceProxy (http://technet.microsoft.com/library/c4e4639e-cfc0-4bf2-8f6a-de3e09c3080c(Office.14).aspx)

Use the AllowForUserForms and Identity parameters.

Allowwebserviceproxy

Set-SPInfoPathWebServiceProxy (http://technet.microsoft.com/library/c4e4639e-cfc0-4bf2-8f6a-de3e09c3080c(Office.14).aspx)

Use the AllowWebServiceProxy and Identity parameters.

Authentication

Set-SPWebApplication (http://technet.microsoft.com/library/0dd61e54-0e77-44b3-86c5-fabc128efa7b(Office.14).aspx)

Use the AuthenticationMethod or AuthenticationProvider parameters.

Backup

Backup-SPConfigurationDatabase (http://technet.microsoft.com/library/28ddc176-1b7f-47dd-868f-39b7c403a900(Office.14).aspx)

Backup-SPFarm (http://technet.microsoft.com/library/c37704b5-5361-4090-a84d-fcdd17bbe345(Office.14).aspx)

Backup-SPSite (http://technet.microsoft.com/library/d4c31a1a-82a7-425f-b1bb-22e70bedd338(Office.14).aspx)

Backuphistory

Get-SPBackupHistory (http://technet.microsoft.com/library/bc3a96db-3cc8-4991-a602-10204371047d(Office.14).aspx)

Binddrservice

None

Blockedfilelist

None

Canceldeployment

None

Changepermissionpolicy

None

Copyappbincontent

None

Createadminvs

New-SPCentralAdministration (http://technet.microsoft.com/library/b51e3b8d-b3de-4c35-bcb7-c0ade288c0e4(Office.14).aspx)

Creategroup

None

Createsite

New-SPSite (http://technet.microsoft.com/library/ebdadc86-0cda-49b7-a84a-5cfc6b4506b3(Office.14).aspx)

Createsiteinnewdb

New-SPSite (http://technet.microsoft.com/library/ebdadc86-0cda-49b7-a84a-5cfc6b4506b3(Office.14).aspx) Use the ContentDatabase parameter.

New-SPContentDatabase (http://technet.microsoft.com/library/18cf18cd-8fb7-4561-be71-41c767f27b51(Office.14).aspx)

Createweb

New-SPWeb (http://technet.microsoft.com/library/1ea28725-5b75-49f9-b69c-5ff0edf31459(Office.14).aspx)

Databaserepair

None

Deactivatefeature

Disable-SPFeature (http://technet.microsoft.com/library/c10fbc69-088c-4e49-9005-fde54c035f23(Office.14).aspx)

Deactivateformtemplate

Disable-SPInfoPathFormTemplate (http://technet.microsoft.com/library/1e8e306a-4a37-4fae-a9ef-551c0c9b8b72(Office.14).aspx)

Deleteadminvs

None

Deletealternatedomain

Remove-SPAlternateUrl (http://technet.microsoft.com/library/25af02dd-ae9f-4ec0-a099-3c6cd38f2187(Office.14).aspx)    

Deleteconfigdb

Remove-SPConfigurationDatabase (http://technet.microsoft.com/library/10bab257-a628-4632-8d2f-7bb48bff8a4a(Office.14).aspx)

Deletecontentdb

Dismount-SPContentDatabase (http://technet.microsoft.com/library/89eea901-8d3f-4d4d-9638-941a1cafe259(Office.14).aspx)

Deletegroup

None

Deletepath

Remove-SPManagedPath (http://technet.microsoft.com/library/6b6daf4a-4102-4583-9da7-9f0433d87b19(Office.14).aspx)

Deletepermissionpolicy

None

Deletesite

Remove-SPSite (http://technet.microsoft.com/library/f2c49315-8eed-49ec-8a32-dc15a008d0dc(Office.14).aspx)

Deletesolution

Remove-SPSolution (http://technet.microsoft.com/library/862985c6-480b-49e7-926b-8497235bcba2(Office.14).aspx)

Deletetemplate

Uninstall-SPWebTemplate (http://technet.microsoft.com/library/f78da633-3fa7-4ece-bdef-004faac7abbe(Office.14).aspx)

Deleteuser

Remove-SPUser (http://technet.microsoft.com/library/cc60e125-781c-45bb-8e91-896fe8a230c1(Office.14).aspx)

Deleteweb

Remove-SPWeb (http://technet.microsoft.com/library/c9bc8078-626a-4838-b12b-21f1bb832935(Office.14).aspx)

Deletewppack

Uninstall-SPWebPartPack (http://technet.microsoft.com/library/8103c7d5-3b5b-4281-b9b6-e5ad93d3e2ef(Office.14).aspx)

Deletezoneurl

Remove-SPAlternateUrl (http://technet.microsoft.com/library/25af02dd-ae9f-4ec0-a099-3c6cd38f2187(Office.14).aspx)

Deploysolution

Install-SPSolution (http://technet.microsoft.com/library/0133c53b-70c4-4dff-a2ae-3c94759ed25d(Office.14).aspx)

Deploywppack

Install-SPWebPartPack (http://technet.microsoft.com/library/b4245f30-c369-4b91-b4bd-1048a2abd384(Office.14).aspx)

Disablessc

None

Displaysolution

Get-SPSolution (http://technet.microsoft.com/library/88111c7a-9d56-40da-a766-a8ea1945c697(Office.14).aspx)

Editcontentdeploymentpath

Set-SPContentDeploymentPath (http://technet.microsoft.com/library/e68331f6-1f2c-4559-a7ea-24ea033f8244(Office.14).aspx)

Email

None

Enablessc

None

Enumalternatedomains

Get-SPAlternateURL (http://technet.microsoft.com/library/ea38119d-a535-48a3-b498-9daa443399fb(Office.14).aspx)

Enumcontentdbs

Get-SPContentDatabase (http://technet.microsoft.com/library/a4a83bb0-0bab-4cad-9b59-0fd89a16f57b(Office.14).aspx)

Enumdataconnectionfiledependants

Get-SPDataConnectionFileDependent (http://technet.microsoft.com/library/41cb3e6e-aedd-47dd-945b-a72b800013a6(Office.14).aspx)

Enumdataconnectionfiles

Get-SPDataConnectionFile (http://technet.microsoft.com/library/3bb713ab-3824-4113-9086-0f9624f23544(Office.14).aspx)

Enumdeployments

None

Enumexemptuseragents

Get-SPInfoPathUserAgent (http://technet.microsoft.com/library/fef7e923-ac38-4054-aa7b-cd1f143d487e(Office.14).aspx)

Enumformtemplates

Get-SPInfoPathFormTemplate (http://technet.microsoft.com/library/f35004e0-8ded-4ec5-8fec-1cbd5151c42b(Office.14).aspx)

Enumgroups

None

Enumroles

None

Enumservices

Get-SPServiceInstance (http://technet.microsoft.com/library/14bbe36e-c73c-428a-955c-2c1e4d8a1d83(Office.14).aspx)

Enumsites

Get-SPSiteAdministration (http://technet.microsoft.com/library/a05769b1-7559-4af4-8524-5cbcc1bd4f25(Office.14).aspx) (To run this cmdlet, you must be a member of the Farm Administrators group.)

Get-SPSite (http://technet.microsoft.com/library/f3422bf4-0f9b-4f22-94c8-2a0606a31b16(Office.14).aspx) (To run this cmdlet, you must be a local administrator on the computer where SharePoint 2010 Products is installed.)

Enumsolutions

Get-SPSolution (http://technet.microsoft.com/library/88111c7a-9d56-40da-a766-a8ea1945c697(Office.14).aspx)

Enumsubwebs

Get-SPWeb (http://technet.microsoft.com/library/9bf9284f-e3b9-439d-8a5f-74020e1eccaf(Office.14).aspx)

Enumtemplates

Get-SPWebTemplate (http://technet.microsoft.com/library/dfd10bac-c304-4f3f-bea9-eb0af5f96df5(Office.14).aspx)

Enumusers

Get-SPUser (http://technet.microsoft.com/library/1ec026e1-2480-4c31-bc23-3d0692d51ef9(Office.14).aspx)

Enumwppacks

Get-SPWebPartPack (http://technet.microsoft.com/library/a002b0f1-0c9c-4be6-b8ff-cb42b7b1dc29(Office.14).aspx)

Enumzoneurls

Get-SPAlternateURL (http://technet.microsoft.com/library/ea38119d-a535-48a3-b498-9daa443399fb(Office.14).aspx)

Execadmsvcjobs

Start-SPAdminJob (http://technet.microsoft.com/library/a96146cd-9973-4680-9a0b-d91ec51200d5(Office.14).aspx)

Export

Export-SPWeb (http://technet.microsoft.com/library/cd85bf19-6f24-4f13-bd9c-37bbf279ea2b(Office.14).aspx)

Extendvs

New-SPWebApplication (http://technet.microsoft.com/library/eaeb5bed-81e7-4275-b005-aa7fc465e6d5(Office.14).aspx)

Extendvsinwebfarm

New-SPWebApplicationExtension (http://technet.microsoft.com/library/0c407f36-6e3d-4213-bdb9-8298fa0c761c(Office.14).aspx)

Forcedeletelist

None

Getadminport

Get-SPWebApplication (http://technet.microsoft.com/library/11d6521f-f99c-433e-9ab5-7cf9e953457a(Office.14).aspx)

Use the following syntax:

Get-SPWebApplication -IncludeCentralAdministration | ? {$_.IsAdministrationWebApplication -eq $true}

Getdataconnectionfileproperty property

Get-SPDataConnectionFile (http://technet.microsoft.com/library/3bb713ab-3824-4113-9086-0f9624f23544(Office.14).aspx)

Use the following syntax:

Get-SPDataConnectionFile | where {$_.Name -eq "dataConFileName"} | format-list

Getformtemplateproperty property

Get-SPInfoPathFormTemplate (http://technet.microsoft.com/library/f35004e0-8ded-4ec5-8fec-1cbd5151c42b(Office.14).aspx)

Use the following syntax:

Get-SPInfoPathFormTemplate | where {$_.DisplayName -eq "formTemplateName"} | format-list

Getosearchsetting

None

Getproperty

Get-SPFarmConfig (http://technet.microsoft.com/library/83a26555-6b6e-4959-9a6a-bdef049de2a2(Office.14).aspx)

Get-SPTimerJob (http://technet.microsoft.com/library/e2ec752d-7f04-457e-bc02-7213af5c14fe(Office.14).aspx)

Disable-SPTimerJob (http://technet.microsoft.com/library/8d8d7ec5-3f09-4b7e-9124-8d0c0afeb637(Office.14).aspx)

Enable-SPTimerJob (http://technet.microsoft.com/library/ca2ce54c-1a9a-46d5-8055-a1f87c30a99a(Office.14).aspx)

Set-SPTimerJob (http://technet.microsoft.com/library/e40a6017-0bf0-4912-befb-3510084a0487(Office.14).aspx)

Start-SPTimerJob (http://technet.microsoft.com/library/1cea3146-e267-476f-af0e-3b534ca14a80(Office.14).aspx)

Getsitelock

Get-SPSiteAdministration (http://technet.microsoft.com/library/a05769b1-7559-4af4-8524-5cbcc1bd4f25(Office.14).aspx)

Getsiteuseraccountdirectorypath

None

Geturlzone

Get-SPAlternateURL (http://technet.microsoft.com/library/ea38119d-a535-48a3-b498-9daa443399fb(Office.14).aspx)

Import

Import-SPWeb (http://technet.microsoft.com/library/2ecc5b6e-1b23-4367-a966-b7bd3377db3a(Office.14).aspx)

Installfeature

Install-SPFeature (http://technet.microsoft.com/library/a1093d30-68a1-4c84-8454-967bda8d68b9(Office.14).aspx)

Listlogginglevels

Get-SPLogLevel (http://technet.microsoft.com/library/1bb57b3d-8bf3-4fb2-8ef2-dd3eafe3a899(Office.14).aspx)

Listqueryprocessoroptions

None

Listregisteredsecuritytrimmers

Get-SPEnterpriseSearchSecurityTrimmer (http://technet.microsoft.com/library/60fd124a-e678-4440-9e37-852372a6d977(Office.14).aspx)

Localupgradestatus

None

Managepermissionpolicylevel

None

Mergecontentdbs

Move-SPSite (http://technet.microsoft.com/library/e3bf1b34-78b9-4643-b0dd-24444e3cffc5(Office.14).aspx)

Migrateuser    

Move-SPUser (http://technet.microsoft.com/library/783cad23-5442-46b2-af98-79e0b8e4977d(Office.14).aspx)

Osearch

 

For the Osearch parameters farmcontactemail, farmperformancelevel, farmserviceaccount, and farmservicepassword, use the Get-SPEnterpriseSearchService (http://technet.microsoft.com/library/fcf865a8-b46b-44fb-89ba-f52e20876f6c(Office.14).aspx) and Set-SPEnterpriseSearchService (http://technet.microsoft.com/library/f8baccd0-21d2-40aa-b700-997ec7ca7011(Office.14).aspx) cmdlets.

For the Osearch parameters start and stop, use the Start-SPEnterpriseSearchServiceInstance (http://technet.microsoft.com/library/55060c1d-4024-438e-b31d-6854df8b00d5(Office.14).aspx) and Stop-SPEnterpriseSearchServiceInstance (http://technet.microsoft.com/library/985591b0-951f-4274-aead-a184398bba41(Office.14).aspx) cmdlets, respectively.

For the Osearch parameter defaultindexlocation, use the Get-SPEnterpriseSearchServiceInstance (http://technet.microsoft.com/library/309d98e8-a5fa-4cb5-b6e1-bf94380a8212(Office.14).aspx) and Set-SPEnterpriseSearchServiceInstance (http://technet.microsoft.com/library/88f14d64-e018-44f7-99d3-1f0d4594c4f2(Office.14).aspx) cmdlets.

Osearchdiacriticsensitive

 

Use the Get-SPEnterpriseSearchServiceApplication (http://technet.microsoft.com/library/b8030354-e62d-4723-a809-eb6cf8c301c5(Office.14).aspx) cmdlet to retrieve the specific Search service application, and then use DiacriticSensitive parameter from the Set-SPEnterpriseSearchServiceApplication (http://technet.microsoft.com/library/77868ee0-716d-48a4-81dc-016b28652710(Office.14).aspx) cmdlet.

Provisionservice

Start-SPServiceInstance (http://technet.microsoft.com/library/fcb4a4f8-a95f-468e-918b-d9a2d736cd2d(Office.14).aspx)

Quiescefarm

None

Quiescefarmstatus

None

Quiesceformtemplate

Stop-SPInfoPathFormTemplate (http://technet.microsoft.com/library/b2795395-f293-4b17-aa1b-64ec46fb6856(Office.14).aspx)

Reconvertallformtemplates

Update-SPInfoPathFormTemplate (http://technet.microsoft.com/library/7095759f-3b6c-4279-a8b1-24a3174185e5(Office.14).aspx)

Refreshdms

None

Refreshsitedms

None

Registersecuritytrimmer

New-SPEnterpriseSearchSecurityTrimmer (http://technet.microsoft.com/library/493d9d19-ae43-43ce-b75f-916535881b35(Office.14).aspx)

Registerwsswriter

None    

Removedataconnectionfile

Uninstall-SPDataConnectionFile (http://technet.microsoft.com/library/5151855d-0051-4c98-8dc3-ce0843c5a69d(Office.14).aspx)

Remove-ecsfiletrustedlocation

Remove-SPExcelFileLocation (http://technet.microsoft.com/library/966abafa-fc6c-4dc2-b8a8-b1d46b667d6f(Office.14).aspx)

Remove-ecssafedataprovider

Remove-SPExcelDataProvider (http://technet.microsoft.com/library/553c7e33-19d5-415e-8d04-f15f2ba0ecce(Office.14).aspx)

Remove-ecstrusteddataconnectionlibrary

Remove-SPExcelDataConnectionLibrary (http://technet.microsoft.com/library/46beb307-1fd2-46d4-8542-6512d5acf9a7(Office.14).aspx)

Remove-ecsuserdefinedfunction

Remove-SPExcelFileLocation (http://technet.microsoft.com/library/966abafa-fc6c-4dc2-b8a8-b1d46b667d6f(Office.14).aspx)

Removedrservice

None

Removeexemptuseragent

Remove-SPInfoPathUserAgent (http://technet.microsoft.com/library/da48bb08-6aca-4138-b899-9f5a4be0a982(Office.14).aspx)

Removeformtemplate

Uninstall-SPInfoPathFormTemplate (http://technet.microsoft.com/library/da080f95-6bdf-415f-8c8b-f2fe927cd9cc(Office.14).aspx)

Removesolutiondeploymentlock

None

Renameserver

Rename-SPServer (http://technet.microsoft.com/library/0e64ec82-f313-4af8-b3ca-c0f55e5d51f0(Office.14).aspx)

Renamesite

Set-SPSite (http://technet.microsoft.com/library/f8c7f0ac-52bf-4b79-a356-9d6e485a55aa(Office.14).aspx)

Use the Url parameter.

Renameweb

Set-SPWeb (http://technet.microsoft.com/library/7b21444f-7f4c-4155-8f0d-952b585e4524(Office.14).aspx)

Use the RelativeUrl parameter.

Restore

Restore-SPFarm (http://technet.microsoft.com/library/8e18ea80-0830-4ffa-b6b6-ad18a5a7ab3e(Office.14).aspx)

Restore-SPSite (http://technet.microsoft.com/library/90f19a58-0455-470c-a8ee-3129fc341f62(Office.14).aspx)

Retractsolution

Uninstall-SPSolution (http://technet.microsoft.com/library/bc815ad1-cb94-4512-9ca2-891eb001f05b(Office.14).aspx)

Retractwppack

None

Runcontentdeploymentjob

 

Start-SPContentDeploymentJob (http://technet.microsoft.com/library/d34e88ba-1f37-4611-92c8-1e67b41c5923(Office.14).aspx)

Scanforfeatures

Install-SPFeature (http://technet.microsoft.com/library/a1093d30-68a1-4c84-8454-967bda8d68b9(Office.14).aspx)

Use the Scanforfeatures parameter.

Setadminport

Set-SPCentralAdministration (http://technet.microsoft.com/library/a8bf87b6-18e6-4ba0-ada9-91ee9f4199ec(Office.14).aspx)

Setapppassword

None

Setconfigdb

Connect-SPConfigurationDatabase (http://technet.microsoft.com/library/44ace210-aab1-4b4f-b133-0a302d89541b(Office.14).aspx)

Setcontentdeploymentjobschedule

Set-SPContentDeploymentJob (http://technet.microsoft.com/library/9dd46fa9-1110-4fd5-b890-6b0fc37dbe96(Office.14).aspx)

Setdataconnectionfileproperty

Set-SPDataConnectionFile (http://technet.microsoft.com/library/edca60a7-2028-4141-97e1-83125306fe3f(Office.14).aspx)    

Set-ecsexternaldata

Set-SPExcelFileLocation (http://technet.microsoft.com/library/29f61cce-e8d9-4c90-a497-0ef90c680c1d(Office.14).aspx)

Set-ecsloadbalancing

Set-SPExcelServiceApplication (http://technet.microsoft.com/library/a873d617-12a0-4f9a-a9b2-d9b52dc84019(Office.14).aspx)

Use the LoadBalancingScheme parameter.

Set-ecsmemoryutilization

Set-SPExcelServiceApplication

Use the MemoryCacheThreshold and PrivateBytesMax parameters.

Set-ecssecurity

Set-SPExcelServiceApplication (http://technet.microsoft.com/library/a873d617-12a0-4f9a-a9b2-d9b52dc84019(Office.14).aspx)

Use the CrossDomainAccessAllowed, EncryptedUserConnectionRequired, and FileAccessMethod parameters.

Set-ecssessionmanagement

Set-SPExcelServiceApplication (http://technet.microsoft.com/library/a873d617-12a0-4f9a-a9b2-d9b52dc84019(Office.14).aspx)

Use the SessionsPerUserMax and SiteCollectionAnonymousSessionsMax parameters.

Set-ecsworkbookcache

Set-SPExcelServiceApplication (http://technet.microsoft.com/library/a873d617-12a0-4f9a-a9b2-d9b52dc84019(Office.14).aspx)

Use the Workbookcache and WorkbookCacheSizeMax parameters.

Setformtemplateproperty

Set-SPInfoPathFormTemplate (http://technet.microsoft.com/library/ba687ce1-4a54-4a27-ae22-5912e6b54e81(Office.14).aspx)

Setlogginglevel

Set-SPLogLevel (http://technet.microsoft.com/library/c8ede92a-f685-4140-8587-96700d1a45de(Office.14).aspx)

Setosearchsetting

None

Setproperty

Set-SPFarmConfig (http://technet.microsoft.com/library/fc9fd625-0df1-467a-bd31-16b7e29fbca9(Office.14).aspx)

Get-SPTimerJob (http://technet.microsoft.com/library/e2ec752d-7f04-457e-bc02-7213af5c14fe(Office.14).aspx)

Disable-SPTimerJob (http://technet.microsoft.com/library/8d8d7ec5-3f09-4b7e-9124-8d0c0afeb637(Office.14).aspx)

Enable-SPTimerJob (http://technet.microsoft.com/library/ca2ce54c-1a9a-46d5-8055-a1f87c30a99a(Office.14).aspx)

Set-SPTimerJob (http://technet.microsoft.com/library/e40a6017-0bf0-4912-befb-3510084a0487(Office.14).aspx)

Start-SPTimerJob (http://technet.microsoft.com/library/1cea3146-e267-476f-af0e-3b534ca14a80(Office.14).aspx)

Setqueryprocessoroptions

None

Setsitelock

Set-SPSiteAdministration (http://technet.microsoft.com/library/35f784c0-f74b-49aa-b87d-3b7a3662dd1d(Office.14).aspx)

Use the LockState parameter.

Setsiteuseraccountdirectorypath

Get-SPSiteSubscription (http://technet.microsoft.com/library/d79fb60b-ba72-4187-bcb3-152d22368f71(Office.14).aspx)

New-SPSiteSubscription (http://technet.microsoft.com/library/134f4d1a-28c0-4239-9e6e-4e886f877f1b(Office.14).aspx)

Remove-SPSiteSubscription (http://technet.microsoft.com/library/ff9b0882-a5e1-40b4-bdd2-20d8f7dab1f8(Office.14).aspx)

Setworkflowconfig

Set-SPWorkflowConfig (http://technet.microsoft.com/library/876a4206-6c28-446e-9686-c8916c9bbfec(Office.14).aspx)

Siteowner

Set-SPSiteAdministration (http://technet.microsoft.com/library/35f784c0-f74b-49aa-b87d-3b7a3662dd1d(Office.14).aspx)

Syncsolution

Install-SPSolution (http://technet.microsoft.com/library/0133c53b-70c4-4dff-a2ae-3c94759ed25d(Office.14).aspx)

Use the Synchronize parameter.

Unextendvs

Remove-SPWebApplication (http://technet.microsoft.com/library/c9e9fca0-403a-4071-83ee-2cf7bdab0ed3(Office.14).aspx)

Uninstallfeature

Uninstall-SPFeature (http://technet.microsoft.com/library/2f3831e4-b964-4e0e-bcc5-02659fdc0bb7(Office.14).aspx)

Unquiescefarm

None

Unquiesceformtemplate

Start-SPInfoPathFormTemplate (http://technet.microsoft.com/library/97fee306-a7b1-4761-8ce3-438f5f1814be(Office.14).aspx)

Unregistersecuritytrimmer

Remove-SPEnterpriseSearchSecurityTrimmer (http://technet.microsoft.com/library/5dd04c24-6a23-4092-b0ab-7a41f13831d9(Office.14).aspx)

Unregisterwsswriter

None

Updateaccountpassword

Set-SPManagedAccount (http://technet.microsoft.com/library/320204fe-f72f-40c6-9b1f-e7a3ddb0aca3(Office.14).aspx)

Updatealerttemplates

None

Updatefarmcredentials

None

Upgrade

None

Upgradeformtemplate

Install-SPInfoPathFormTemplate (http://technet.microsoft.com/library/b99f33e3-6f2b-43e0-9a35-1aea11337dfe(Office.14).aspx)

Upgradesolution

Update-SPSolution (http://technet.microsoft.com/library/7748591a-b137-48a2-84dd-fdd7727a938e(Office.14).aspx)

Upgradetargetwebapplication

None

Uploadformtemplate

Install-SPInfoPathFormTemplate (http://technet.microsoft.com/library/b99f33e3-6f2b-43e0-9a35-1aea11337dfe(Office.14).aspx)

Userrole

Get-SPUser (http://technet.microsoft.com/library/1ec026e1-2480-4c31-bc23-3d0692d51ef9(Office.14).aspx)

Move-SPUser (http://technet.microsoft.com/library/783cad23-5442-46b2-af98-79e0b8e4977d(Office.14).aspx)

New-SPUser (http://technet.microsoft.com/library/b8d7f8df-d5df-4497-a55b-dbe56b1c6fbb(Office.14).aspx)

Remove-SPUser (http://technet.microsoft.com/library/cc60e125-781c-45bb-8e91-896fe8a230c1(Office.14).aspx)

Set-SPUser (http://technet.microsoft.com/library/a412b5e1-b330-4992-a10d-7593078684a7(Office.14).aspx)

Verifyformtemplate

Test-SPInfoPathFormTemplate (http://technet.microsoft.com/library/756307f4-2409-4059-9543-53979367f53e(Office.14).aspx)

Posted door Mark Priem | 1 comment(s)

Sharepoint 2010 online trainingen

Sinds enkele dagen zijn er op MSDN en Technet twee zeer uitgebreide online trainingen te vinden voor Sharepoint 2010.
Wil je alvast klaar zijn voor 2010, dan zijn deze trainingen een must. De komende dagen worden daar ook nog eens 24 virtual labs aan toegevoegd.

De Developer training is te vinden op: http://msdn.microsoft.com/en-us/sharepoint/ff420377.aspx

De IT Pro training is te vinden op: http://technet.microsoft.com/en-gb/sharepoint/ff420396.aspx

Suc6!

Posted door Mark Priem | met no comments

Office 2010 Server en Client launch op 12 Mei

Eerder dan verwacht is de aankondiging gekomen dat de Office 2010 Server en Client releases in April RTM worden en publiekelijk beschikbaar komen op 12 Mei !!!
Geweldig nieuws natuurlijk. Eindelijk zullen we Sharepoint 2010 en Office 2010 met support kunnen uitrollen bij onze klanten.

De aankondiging is te vinden op http://blogs.msdn.com/sharepoint/archive/2010/03/05/sharepoint-2010-office-2010-launch.aspx

Registeren voor het online Launch event met Steven Elop kan op http://sharepoint.microsoft.com/businessproductivity/proof/pages/2010-launch-events.aspx#fbid=bMY49OOdlOI

Posted door Mark Priem | met no comments
Opgeslagen onder: , ,

Office Web Apps installatie

Office Web Apps is een add-on voor Sharepoint Foundation / Server, die het mogelijk maakt Word, PowerPoint, Excel en OneNote te delen, te bewerken en uiteraard te bekijken. Deze blog post gaat in op de installatie van Office Web Apps.

Wat hebben we allemaal nodig?

  1. Om te beginnen heb je een Sharepoint 2010 omgeving nodig. Ik ga niet vertellen hoe deze te installeren. Een eerder blog artikel kan je hierbij helpen.
  2. Office Web Apps, waarvan de beta hier te downloaden is.

De procedure om Office Web Apps (OWA) te installeren is als volgt:

  1. Install de bits en draaien van PSConfig
  2. Activeren en gebruik van de functionaliteit

Installatie van de bits

Na de download start je de installatie van OWA. Dit is redelijk voorzelfspreken:

  1. Geef een productkey op:
    (Voor de beta staat deze in de handleiding op dezelfde download site als waar je de bits vandaan hebt.)


  2. Accepteer de EULA.
  3. Kies het installatiepad.


  4. Even geduld…
  5. Kies er voor om PSConfig te laten draaien.
    Wanneer PSConfig gelopen heeft, dienen we de boel te activeren. Wederom even geduld om PSConfig uit te laten ratelen. Houdt er rekening mee dat services gestopt worden.

Wat is er gebeurd?

Na de installatie van OfficeWeb apps zijn er een aantal zaken gewijzigd. Wat hebben we nu precies gedaan?
Tijdens de initiële installatie van de bits zijn er verschillende zaken toegevoegd. Voornaamste wijziginen zijn de nieuwe service applications: de Word Viewing Service en de Powerpoint Service Application.
Excel Services Application bestaat uiteraard al in Sharepoint Server, maar wordt toegevoegd, mocht je Sharepoint Foundation draaien.

Verder zijn er een hele zwik nieuwe feature(staplers) toegevoegd. De featurestaplers zorgen ervoor dat de OWA features, bij het aanmaken van nieuwe sitecollections van nagenoeg elk template, geactiveerd worden.
Wees er wel bewust van dat de features voor bestaande sites wel nog geactiveerd moeten worden.
Dit zul je ook meteen na de installatie moeten uitvoeren om te voorkomen dat gebruikers bij het openen van browser-enabled documenttypes een foutmelding krijgen.


Functionaliteit activeren

Nu de installatie voltooit is, kunnen we de functionaliteit gaan activeren.

  1. Om te beginnen starten we de services. Dit bereiken we door in Central Administration te kiezen voor System Settings > Services on Server.
    Hier activeren we de Excel Calculation Services, Powerpoint Service en Word Viewing Service.

  2. Vervolgens maken we een nieuwe Service Application in Central Administration onder Application Management > Manage Service Applications voor Excel Services Application, Powerpoint Service Application en Word Viewing Service.
    Als voorbeeld een screendump van een nieuwe Excel Services Application. Het ziet er nagenoeg hetzelfde uit voor de overige services:


  3. Tenslotte moet er voor alle bestaande sites met document libraries de Office Web Apps feature geactiveerd worden, om de eerder genoemde foutmelding te vermijden.
    Dit doe je uiteraard onder Site Actions > Site Collection Features.

 

Dit is in principe alles om Office Web Apps werkend te krijgen. Wanneer je de features geactiveerd hebt op de site collecties zal je zien dat de contextmenu's voor de document libraries uitgebreid zijn met wat extra opties zoals View in Browser en Edit in Browser.
Deze context menu uitbreidingen redirecten je als gebruiker naar OWA webpages in de _Layouts folder met de itemURL als parameter (Dit zijn Wordviewer.aspx, Xlsviewer.aspx en Powerpoint.aspx).
De codebehind zorgt vervolgens voor de logica van het verwerken en tonen van de documenten. Via de mechanismen die beschikbaar zijn in het Service Application Framework zal er een vorm van load balancing plaats vinden tussen de servers in de farm die een instance van de WCF service draaien (die we in de eerste stap na installatie hebben geactiveerd).

De controls stellen je nu zelfs in staat documenten te wijzigen. Het is natuurlijk niet zo uitgebreid als de fat client, maar je kunt best aardig uit de voeten.
Voor bijvoorbeeld de Word App, heb je de beschikking over lists, tabellen, spellingscontrole en de document styles.
Wat ik persoonlijk nog wel mis zijn de review controls, omdat ik denk dat dat juist een veelgebruikt scenario zou kunnen zijn voor het gebruik van OWA. Je upload een document en iemand reviewt deze.
Hij zou dan changetracking, comments en Accept/Reject changes willen gebruiken. Het is natuurlijk allemaal nog beta, maar ik ben bang dat we dat voor RTM niet gaan zien.

Al met al vind ik het een prima toevoeging en denk ik dat vooral de viewers zeer veel gebruik gaan worden. Zeker in combinatie met de Broadcast Slideshow Site, waar het mogelijk wordt via Powerpoint een slidedeck te broadcasten, waarna anderen via hun webbrowser mee kunnen kijken met de slidedeck. Kan erg handig zijn gedurende een conference call. Wie heeft er tegenwoordig nu geen internet. Het is zelfs te gebruiken via mobile devices.

Voor een complete handleiding zie: http://download.microsoft.com/download/3/1/6/31679466-6DE6-42FC-82EC-8597F5072D98/broadcasting_whitepaper.doc

Als afsluiting nog een screendump van al dat mooie silverlight eyecandy J

 

Posted door Mark Priem | met no comments

SSP Profile Synchronisatie in Sharepoint

Meer dan eens lopen klanten van ons tegen problemen aan met profielinformatie die niet up to date is binnen de farm of delen van de farm. Ook zitten beheerders met hun handen in het haar omdat ze maar niet begrijpen waar alle events gerelateerd aan profile synchronisatie vandaan komen, wat soms tot knalrode eventlogs leidt. Eerlijk gezegd snapte ik tot zojuist ook niet helemaal hoe de vork in de steel zat, vandaar ook deze post. Hierin ga ik redelijk indepth uit de doeken doen hoe profile synchronisatie precies werkt en hoe veel voorkomende problemen op te lossen en te voorkomen.

Huh.. Hoe? Wat?

Om te beginnen wat is profile synchronisatie precies?

In het kort: Profile synchronisatie zorgt voor het 'in sync' houden van MOSS profiel informatie op de afzonderlijke WSS profielen binnen een contentdatabase, en het 'in sync' houden van site membership informatie in de MOSS profielen.

Zoals velen van jullie weten, hebben we in Sharepoint profielen. Wat velen alleen niet weten is dat we twee afzonderlijke profielen hebben. We hebben namelijk profielen in Windows Sharepoint Services, maar ook in Sharepoint Server 2007 en dat zijn verschillende features. Om een consistente weergave te hebben van deze beiden profielen, moeten we dus synchroniseren.

WSS profielen

WSS profielen kan je vinden onder Welcome User > My Settings. De informatie hieruit wordt bijvoorbeeld gebruikt in People and Groups.

Een WSS profiel vind je op elke afzonderlijke site collectie. Elke site collectie heeft dus een ander WSS profiel voor een specifieke gebruiker. Onderstaand voorbeeld laat vergelijking zien tussen een site zien binnen een site collectie, waar ik net als gebruiker ben toegevoegd, en een site, waar ik al een tijdje lid van ben, en waar profile synchronisatie extra informatie heeft toegevoegd:

Ondanks dat deze site collecties in dezelfde content database zitten, gebruiken ze toch andere informatie. Elke site in de site collectie deelt een verborgen list, de User Information List, waarin profiel gegevens zijn opgeslagen. Je kunt deze informatie vinden als je browset naar http://urlwebapp/managedpath/sitecollectieroot/_catalogs/users, en wanneer je in de AllUserData table van een content database zoekt op tp_ContentType = 'Person':

AllUserData bevat alle informatie over items in alle lists binnen de alle sites in de content database. Zo zie je maar dat profiel informatie gewoon een item is in de verborgen User Information List.

MOSS Profielen en site memberships

MOSS profielen zijn de profielen die geïmporteerd worden vanuit een profielenbron. Dit is in de meeste gevallen Active Directory, maar dat kan ook een andere LDAP database zijn of zelfs een willekeurig systeem ontsloten via Business Data Catalog. De informatie die opgehaald wordt, wordt vervolgens weggeschreven in de profilestore, een verzameling tables in de SSP database (dbo.UserProfileFull en dbo.UserProfileValue bevatten het gros van de profielinformatie). Deze informatie wordt getoond, wanneer je een MySite bezoekt of wanneer je browset naar Shared Services Administration > User Profile and Properties > View User Profiles.

Een MOSS profiel bevat een publiek deel en een persoonlijk deel.

Als beheerder kan je aangeven welke properties getoond worden in het Details overzicht op het publieke deel van een MOSS Profile. Je kan als eindgebruiker bepaalde properties wijzigen. Welke dat zijn, is op te geven door de beheerder. Hierbij dient alleen rekening gehouden te worden dat, wanneer een property gemapped is aan een property in de profielenbron, deze overschreven worden bij de volgende import. Terugschrijven naar de profielenbron is in deze versie van Sharepoint nog niet mogelijk.

Een belangrijk onderdeel van een MOSS profiel zijn de site memberships. Deze zijn alleen zichtbaar voor jezelf en alle farm admins. Site memberships bevat een overzicht met sites waar je lid bent van een de Members sharepoint group. Andere groups zoals Visitors, Owners enz. komen niet voor in dit overzicht. Deze informatie wordt vervolgens gebruikt in het MOSS profiel om een overzicht te tonen, maar ook om het mogelijk te maken alle bestanden die je als gebruiker hebt geupload naar 1 van deze sites centraal terug te vinden. Erg handig dus!

Een andere handige functionaliteit is dat, waar je je ook bevindt in de structuur van je portal, je altijd snel naar 1 van je sites kan browsen door My Links > My Sharepoint Sites in de topbar.

Deze membershipinformatie is niet beschikbaar bij de initiële import van het profiel. Sterker nog, je kan natuurlijk allang member zijn van een site, zonder ook maar een MOSS profiel te hebben. Deze informatie moet dus ook gesynchroniseerd worden vanuit de afzonderlijke site collecties naar de profilestore. Membership informatie uit deze store, en ook informatie over My Colleagues en eigen toevoegingen op My Links, is terug te vinden met de volgende SQL query (Je weet dat het unsupported is om SQL queries te draaien tegen productiesystemen heh? J )

declare @RecordId int select @RecordId = RecordId

from dbo.UserProfile_Full

where NTName = 'HOME\Mark'

exec dbo.QuickLinksRetrieveAllItems @RecordId,@ViewerItemSecurity=31,@RequestedItemSecurity=16

Deze stored procedure haalt informatie uit de dbo.UserMemberships, dbo.UserLinks en dbo.UserColleagues tabellen op. Het mag zich raden welke informatie waar staat.

Onder water.

Goed… Genoeg over de basics. Laten we het nu over het echte werk gaan hebben. Hoe zorgen we nu dat we een synchronisatieslag kunnen maken tussen wat er in de profilestore staat en wat er in de contentdatabase staat?

Profile synchronisatie in Sharepoint is een samenspel van een 3tal componenten, te weten:

  1. Een tweetal timerjobs.
  2. Een set stored procedures op de Content database.
  3. Een set stored procedures op de SSP database.

Zoals nagenoeg elke periodieke administratieve afhandeling binnen Sharepoint gaat profile synchronisatie via timerjobs, te weten de Profile Synchronization en Quick Profile Synchronization. Standaard draaien deze om respectievelijk het uur en de minuut. De normale job zorgt voor een volledige synchronisatie van informatie en verzorgd dat alle wijzigingen, toevoegingen en verwijderingen sinds de laatste job worden afgehandeld. De Quick job zorgt voor het synchroniseren van alleen nieuwe toevoegingen. Dus als ik mezelf lid maak van een site, wordt bij een Quick job mijn WSS profiel geupdate, maar dat van anderen op dat moment niet.

Bij het aanmaken van een web applicatie of SSP, wordt er een job definitie aangemaakt voor beide jobs:

Wanneer het tijd is om de job af te vuren, zal de Timer Service van een willekeurige server in de farm de jobs uitvoeren. De timerservice gebruikt vervolgens een set verschillende stored procedures op de content databases en SSP database om de synchronisatie te doorlopen. Op de content databases zijn er geen specifieke profiel synchronisatie stored procedures, omdat profiel synchronisatie een MOSS feature is en de content database een object is dat ook bestaat in de WSS wereld. De stored procedures waaraan ik refereer zijn bedoeld om informatie over de WSS profielen uit te kunnen lezen en te kunnen updaten. Op de SSP database zijn wel een set speciaal geschreven stored procedures aanwezig. Deze worden gebruikt om informatie over de synchronisaties bij te houden om ervoor te zorgen dat alleen wijzigingen doorgevoerd worden. Verder zorgen deze ervoor dat profiel informatie (membership info) bijgewerkt wordt.

Een volledig overzicht over de internals van deze stored procedures is terug te vinden in de Protocol specificaties op MSDN:
[MS-WSSDLIM]: Windows SharePoint Services: Content Database Document and List Item Management Communications Protocol Specification
http://msdn.microsoft.com/en-us/library/cc313081.aspx

[MS-UPSSYNC]: User Profile Synchronization Stored Procedures Protocol Specification
http://msdn.microsoft.com/en-us/library/cc313167.aspx

High level ziet een synchronisatie (niet Quick) er als volgt uit:

Gedurende profile synchronisatie hebben we 3 stadia waarin de sync plaats vindt, namelijk:

  1. Content DB Synchronisatie
  2. Profile Synchronisatie
  3. Membership Synchronisatie

Deze stadia overgangen zijn voor het synchronisatie mechanisme om voortgang bij te houden. Gedurende elk stadia wordt er op verschillende plekken voortgang bijgehouden in tijdelijke in-memory tables (Staging data), maar ook in tabellen in SQL (bijv. dbo.ContentDBSync en dbo.SiteSync, waar we later nog op terug komen J). Ook worden er hier en daar extra checks gedaan om consistentie te bewaren. Om het overzichtelijk te houden heb ik het iets abstracter gemaakt en dergelijke checks en status updates weggelaten. Onthoud dat elk stadia dus een eigen werkgebied heeft in het geheugen of database. Terugkomend op mijn visualisatie, gebeurt er in grote lijnen het volgende:

  1. Bij aanvang van de synchronisatie vraagt de timerservice de contentdb sync informatie op bij de SSP. Deze gegevens bevatten informatie over de laatste synchronisatieslag voor deze specifieke content database.
  2. De SSP geeft de informatie terug indien aanwezig. Het belangrijkste daarbij is het Database Changetoken, wat een timestamp is van de laatste succesvolle synchronisatieslag. Wanneer de content database geen sync informatie heeft in de SSP database, wordt dat op dat moment aangemaakt in de dbo.ContentDBSync tabel. Deze sync informatie bevat naast het changetoken ook gegevens over de status van de content database gerelateerd aan profile synchronisatie.
  3. De timerservice zal vervolgens op basis van de Database Changetoken de changelogs van de content database afspeuren naar nieuwe sites.
  4. De gegevens bevatten GUIDS van de afzonderlijke sites, de site collectie waartoe ze behoren en de contentdatabase waarin ze te vinden zijn.
  5. De nieuwe sites worden geregistreerd bij de SSP in de dbo.SiteSync tabel. Deze sync informatie bevat net als bij de content database sync informatie, gegevens over de status van de site met betrekking tot profile synchronisatie, waar een Site Changetoken een deel van is.
  6. De timerservice zal vervolgens een overzicht van sites, die in de synchronisatie meegenomen moeten worden, ophalen bij de SSP. Dit is een overzicht van alle sites in de content database met bijhorende Site Changetokens. Dit is een gedeeltelijke resultset. Stap 6 t/m 12 worden iteratief uitgevoerd totdat alle sites zijn verwerkt.
  7. Vervolgens zal de timerservice een overzicht van alle gewijzigde profielen op basis van de Database Changetoken opvragen. Dit is eveneens een gedeeltelijke resultset. Stap 7 t/m 12 worden iteratief uitgevoerd totdat alle profielen zijn verwerkt. Dit maakt het ook mogelijk nieuwe profielen te registreren op basis van nieuw gevonden ACLs (dus ook nieuwe WSS profielen).
  8. De gewijzigde profielen bevatten dus de MOSS profiel informatie uit de SSP profilestore (dbo.UserProfileFull en dbo.UserProfileValue voornamelijk). Alleen gegevens over MOSS profielen die een WSS profiel wederhelft hebben worden teruggegeven. Een profiel moet eerst geregistreerd zijn voor synchronisatie.
  9. De informatie wordt vervolgens gebruikt om de WSS profielen in de User Information Lists bij te werken via de List stored procedures. De informatie is opgeslagen in de dbo.AllUserData tabel in de content database, waar alle items voor elke list in elke site binnen de content database te vinden is.
  10. Gedurende het bijwerken van de User Information Lists worden meteen alle nieuwe ACLs voor de sites opgevraagd op basis van de Site Changetoken.
  11. De ACLs bevatten informatie over de site, site collectie, content database, group Ids en gebruikers Ids (SIDS), welke in de SSP geregistreerd worden.
  12. Op basis van deze ACLs worden voor alle gebruikers die lid zijn geworden van een Site Members groep, of waar lidmaatschappen zijn verwijderd, het profiel bijgewerkt met Site Membership informatie (dbo.UserMemberships).
  13. Op basis van de ACLs wordt er ook bepaald of er nieuwe profielen zijn waarvoor synchronisatie moet worden gestart. Deze worden geregistreerd.
    Als nu alle sites en profielen zijn verwerkt stopt het Synchronisatie proces.

Nu het proces klaar is, bevatten alle WSS profielen up to date informatie op basis van de MOSS profielen en zijn site memberships op de MOSS profielen bijgewerkt. Tenminste als alles goed gaat J. Er kan namelijk wel eens wat mis gaan.

Crap… iets is er niet in de haak!

Profile Synchronisatie is een proces waar redelijk wat verkeerd kan gaan. Er zijn in principe twee veel voorkomende probleem scenario's:

  1. Profile synchronisatie voor sites / content databases is gestopt zonder dat daarvan melding gemaakt wordt.
  2. Errors betreffende het niet kunnen synchroniseren van sites in eventlog en tracelog.

Wanneer profile synchronisatie is gestopt voor sites/content databases zonder aanduidbare reden, dan is de kans groot dat iemand content databases of sites uit de synchronisatie heeft gehaald door de preparetomove stsadm operatie te draaien. Preparetomove werd voor de Infrastructure Update gebruikt om ervoor te zorgen dat, wanneer een content database detached werd van de farm en later weer werd attached, Sharepoint op de hoogte was van dit feit omdat voor IU de database GUIDS wijzigden bij het attachen. Hetzelfde gold voor het verplaatsen van sites binnen de farm. In de dbo.SiteSync table van de SSP database werd bij het gebruik van preparetomove een MOVING flag gezet, waarna profile synchronisatie stopt voor die content database of site, totdat deze opnieuw werden aangetroffen met een andere GUID.
Na Infrastructure Update wijzigen de GUIDS niet meer, waardoor site collecties die de MOVING = 'True' flag hebben, nooit meer meegenomen worden in de profile synchronisatie. Profile Synchronisatie wacht namelijk totdat de site collecties worden gevonden met een nieuwe GUID. Om deze reden moet dit commando niet meer gebruikt worden (http://blogs.msdn.com/toddca/archive/2009/01/30/preparetomove-away-from-running-this-command.aspx).
Gelukkig kan je nog altijd terug, wanneer je het commando gedraaid hebt. Het is kwestie van het commando draaien met de –undo parameter (http://technet.microsoft.com/en-us/library/cc262122.aspx).

Voorbeeld:

  1. Gebruik de volgende SQL query om erachter te komen welke site collecties de MOVING status hebben:
    USE SSP1_DB
    SELECT ss.LastSynch, ss.ChangeToken, ss.SchemaVersion, ss.LastChangeSynchSuccess,
    ss.Moving, ss.MovingDeleted, ss.Registered, so.Name AS db, so2.Name AS webapp,sm.Path FROM dbo.SiteSynch ss
    JOIN SharePoint_Config.dbo.SiteMap sm ON ss.SiteID = sm.ID
    JOIN SharePoint_Config.dbo.Objects so ON sm.ApplicationId = so.Id
    JOIN SharePoint_Config.dbo.Objects so2 ON sm.DatabaseId = so2.Id


  2. Gebruik respectievelijk stsadm –o preparetomove –site <siteurl> -undo en stsadm –o preparetomove –contentdb <dbserver:dbnaam> -undo om voor een site collectie dan wel contentdatabase de MOVING status te verwijderen.
  3. Trigger de profile synchronisatie door de timerjob te resetten naar een rotatie van 1 minuut, gebruik makend van stsadm –o sync –synctiming M:1. Wacht vervolgens een minuut en reset de timing weer naar een rotatie van 1 uur door stsadm –o sync –synctiming H:1.
  4. De synchronisatie zou weer moeten starten voor die specifieke site collectie of database.

Wanneer tijdens profiel synchronisatie op een gegeven moment allerlei EVENT IDs in application log en ULS logs verschijnen (IDs 5555, 5553, en 7888) betreffende het niet kunnen synchroniseren van bepaalde objecten, dan heeft dit in de meeste gevallen als oorzaak dat site collecties of content databases zijn verplaatst (bijvoorbeeld na het gebruik van stsadm –o mergecontentdbs) . In de meeste gevallen is dit probleem vervolgens te verhelpen door de synchronisatie informatie voor de content databases die deze 'probleemsites' bevatten te resetten. Dit gaat als volgt:

  1. Gebruik het commando stsadm –o sync –listolddatabases x om een overzicht te genereren van alle databases die synchronisatie informatie bevatten die minimaal x dagen verouderd is. X moet bepaald worden aan de hand van de events in de eventlog. Het aantal dagen sinds het eerste event moet als waarde genomen worden.
  2. Vergelijk de output van het commando met de events in de application log en ULS logs. De output bevat database GUIDS, welke je kunt matchen met database GUIDS uit de events. Wanneer deze informatie overeen komt, plan dan buiten kantoortijden een paar uur maintenance in.
  3. Tijdens maintenance draai je vervolgens het commando stsadm –o sync –deleteolddatabases X om de profiel informatie te verwijderen.
  4. Trigger de profile synchronisatie door de timerjob te resetten naar een rotatie van 1 minuut, gebruik makend van stsadm –o sync –synctiming M:1. Wacht vervolgens een minuut en reset de timing weer naar een rotatie van 1 uur door stsadm –o sync –synctiming H:1.
  5. De synchronisatie zou weer moeten starten voor die database, en de events zouden verdwenen moet zijn uit de logs.

Wanneer er nog steeds errors voorkomen, dan kun je proberens stsadm -o sync -deleteolddatabases 0 te draaien. Dit verwijdert alle profiel informatie, waardoor ook site memberships niet meer beschikbaar zijn. Vandaar dus ook dat je deze commando's buiten kantoortijden moet draaien.

Er is 1 scenario waar het resetten van de sync informatie niet gaat werken, en dat is wanneer er twee site collecties zijn met WEBs (subsites) met dezelfde GUIDS. In deze gevallen blijf je 5553 errors houden:

Event Type: Error

Event Source: Office SharePoint Server

Event Category: User Profiles

Event ID: 5553

Date: 7/14/2009

Time: 5:01:08 AM

User: N/A

Computer: COMPUTERNAME

Description:

failure trying to synch site bd030447-46db-4bf4-9bc9-865b6b7fb293 for ContentDB 79eab52a-526c-4c7f-9adf-6c15a0b64a3b WebApp 1abfa921-6f2c-4d30-8e2e-1d807e5d060c. Exception message was Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'.

The statement has been terminated.

Duplicate GUIDS komen voor, wanneer je stsadm –o backup / -o restore gebruikt om een site collectie te restoren, terwijl de orginele site eveneens actief blijft. Bij de restore wijzigt weliswaar de site collectie GUID, maar niet alle GUIDS van objecten binnen de site collectie. Hier kan profile synchronisatie niet mee overweg. Nu zijn er verschillende artikelen die dan vervolgens als oplossing bieden om stsadm –o preparetomove –site <url> -oldcontentdb <GUID> te draaien. Dit biedt welliswaar een oplossing voor de events, maar hiermee introduceer je een nieuw probleem. Het enige wat je dan vervolgens doet is 1 van de twee actieve site collecties uit de profile synchronisatie houden. Nieuwe profielinformatie komt zo niet meer door naar die site collectie. Wanneer je dan vervolgens in de toekomst stadm –o deleteolddatabases 0 gebruikt, krijg je ook meteen de events weer terug. Oplossing voor dat specifieke probleem is dus om 1 van de 2 sites te verwijderen, dan wel de content de migreren naar een nieuwe site collectie.

Ik hoop dat profile synchronisatie nu iets duidelijker geworden is. Dit is eveneens een van mijn laatste 2007 blog posts. Vanaf vandaag zal ik mij voornamelijk gaan richten op 2010. Hou deze blog in de gaten!

Posted door Mark Priem | 2 comment(s)
Opgeslagen onder: ,

Eerste officiele documentatie over Sharepoint 2010 (beta) op Technet

Sinds vanmorgen is het Technet Techcentre voor Sharepoint 2010 live op http://technet.microsoft.com/en-us/sharepoint/ee263917.aspx.
Hier kan je verschillende documenten vinden die je als organisatie kan helpen voor te bereiden op Sharepoint 2010.

Vooral de Evaluation Guide is erg goed document met een introductie van de nieuwe functionaliteiten in Sharepoint 2010: http://technet.microsoft.com/en-us/library/cc262881(office.14).aspx

Een kort overzicht:

IT pro productivity

SharePoint Best Practices Analyzer

Backup and restore configuration data

Site collection migration

Content recovery down to the site and list level

Content restore of site or list

Windows PowerShell™ snap-ins and commands

Scalable unified infrastructure

Shared service applications

Hosting and multi-tenancy architecture with site subscriptions

Claims-based authentication

Profile synchronization

High availability automatic failover

Content type syndication

Sandbox solutions

Policy

Flexible deployment

Prerequisite installer

Visual Upgrade

Configuration wizards

Scriptable deployment

On-premise or online

 

Zorg dat je op de hoogte bent!

Posted door Mark Priem | met no comments
Opgeslagen onder: ,

Sharepoint 2007 build nummers

Ik krijg heel vaak de vraag wat de build nummers van bepaalde builds nu precies zijn. Hierbij dus een recent overzicht:

Binairies

Versie

Office SharePoint Server 2007 RTM

12.0. 4518.1016

October public update (2007)

12.0. 6036.5000

Service Pack 1

12.0.6219.1000

Post Service Pack 1 rollup

12.0. 6300.5000

Infrastructure Update (IU)

12.0.6320.5000

August Cumulative Update

12.0.6327.5000

October Cumulative Update

12.0.6331.5000

December Cumulative Update

12.0.6335.5000

February Cumulative Update

12.0.6341.5002

Service Pack 2

12.0.6420.1000

April Cumulative Update

12.0.6504.5000

June Cumulative Update

12.0.6507.5000

August Cumulative Update

12.0.6514.5002

 

Om de versie te achterhalen: http://blogs.microsoft.nl/blogs/mpriem/archive/2008/06/06/sharepoint-patch-level.aspx

Een complete bijgewerkt overzicht en een uitgebreide procedure voor het installeren van software updates is te vinden op:
http://technet.microsoft.com/en-us/library/cc263467.aspx

Suc6!

Posted door Mark Priem | 1 comment(s)
Opgeslagen onder: ,

SQL Express edition upgrade

Onlangs was ik bezig met een testsysteem, waar ik met SQL Express 2008 with Advanced features aan het spelen was met Reporting Services en wilde dit systeem later upgraden naar Standard edition, omdat ik tegen database size limieten aanliep. Nu heb ik eerder een upgrade gedaan van SQL 2005 Express naar SQL 2005 Standard door gebruik te maken van de commandline optie setup.exe –SKUUPGRADE=1, maar dit werkt niet meer in SQL 2008 Express. In onze documentatie kon ik het in het begin ook niet vinden. Maar de volhouder wint J: http://msdn.microsoft.com/en-us/library/cc707783.aspx

Omdat ik toch enige tijd kwijt was om erachter te komen, dacht ik dat er vast nog wel iemand met hetzelfde probleem zal komen te zitten. Vandaar deze post!

Upgrade

De upgrade optie zit op een beetje ongewone plek in de setupwizard, namelijk onder Maintenance > Edition Upgrade

Na de preinstallation rules, product key en andere voor zichzelf sprekende vensters krijg je de mogelijkheid de SQL 2008 instance te kiezen:

Na controle van de versie en functionaliteit is het een kwestie van kiezen voor Upgrade en Bob is your uncle

Eventuele extra features zijn gewoon toe te voegen via de normale setupmethoden!

Suc6!

Posted door Mark Priem | 1 comment(s)
Opgeslagen onder: ,
Meer posts Volgende pagina »