SQL Server Maintenance für SharePoint


Was immer mal wieder gefragt wird ist, was man denn genau für SharePoint Datenbanken für Maintenance Tasks machen muss und welche Operationen auf SharePoint Datenbanken erlaubt sind und welche nicht.

Ich habe im Folgenden mal alles, was eigentlich auch im Technet bekannt aber verstreut oder unübersichtlich ist, zusammengefasst. Zusätzlich gibt es einen SQL Best Practice Skript, der die benötigten Aktionen automaisch erstellt. Viel Spass beim lesen

So long, Samuel

Inhalt

1       Database Maintenance Plan for SharePoint. 2

1.1        Databases in SharePoint 2013. 2

1.2        Database Maintenance. 4

1.3        Supported and Unsupported Chagnes on SharePoint DBs. 5

1.3.1         Unsupported Database Changes. 5

1.3.2         Supported database modifications. 6

1.3.3         Read operations addendum.. 7

2       SQL Maintenance Script7

 

 

 

 

1         Database Maintenance Plan for SharePoint

1.1         Databases in SharePoint 2013

Source: http://technet.microsoft.com/en-us/library/cc678868(v=office.15).aspx

Database Recommended Recovery Model Backup Method Size Characteristics Notes
Config Simple SP BackkupSQL Backup Small Read intensisve
  • Must be Co-Located with CA DB
  • Recovery Model must be full for Mirroring
  • Scale up, only one DB per Farm
Central Administration Content Full SP BackupSQL Backup Small Varies
  • Must be Co-Located with Config DB
  • Can grow over the period of 365 days if Power Pivot is used
  • Scale up, only one DB per Farm
Content Databases Full SP BackupSQL Backup Small to Big Varies by Usage
  • Limit Size to 200GB per Content DB
  • Scale out, Scale up (a Site Collection can sit in only 1 DB)
App Management Full SP BackupSQL Backup Small Write heavy
  • Only write heavy during App installation
  • Scale up, Scale out only on Office 365
Business data Connectivity Full SP BackupSQL Backup Small Read heavy
  • Scale up, only one DB per Farm
Search – Admin Simple SP BackupSQL Backup Medium Read Write
  • Scale up, Scale out only by creating additional Service Applications
Search – Analytics Simple SP BackupSQL Backup Medium to Large Write heavy
  • Nightly Analytics update
  • Scale out by Split Operation when DB becomes > 200GB
Search – Crawl Simple SP BackupSQL Backup Medium Read heavy
  • Scale out by creating new DBs for every 20mio Items crawled
Search – Link Simple SP BackupSQL Backup Medium to Large Write heavy
  • Affected by Content processing
  • Scale out by creating new DBs for 60mio Items crawled and for expected 100mio querys per year
Secure Store Full SP BackupSQL Backup Small Equal Read Write
  • Scale up, Scale out by creating new Service Applications
Usage Simple SQL Backup XLarge Write heavy
  • Scale up, only one DB per Farm
Subscription Settings Full SP BackupSQL Backup Small Read heavy
  • Scale up, Scale out by creating new Service Applications
User Profile – Profile Simple SP BackkupSQL Backup Medium to Large Read heavy
  • Scale up, Scale out by creating new Service Applications
User Profile – Sync Simple SP BackupSQL Backup Medium to Large Equal Read Write
  • Scale up, Scale out by creating new Service Applications
User Profile – Social Simple SP BackupSQL Backup Small to XLarge Read heavy
  • Scale up, Scale out by creating new Service Applications
Word Automation Full SP BackupSQL Backup Small Read heavy
  • Scale up, Scale out by creating new Service Applications
  • Traffic is Affected by Word Conversions only
Managed Metadata Full SP BackupSQL Backup Medium Read heavy
  • Scale up, Scale out by creating new Service Applications
Machine Translation Full SP BackupSQL Backup Small Read heavy
  • Scale up, Scale out by creating new Service Applications
Project Server Full SP BackupSQL Backup Small to Medium Read heavy
  • Scale up
  • One Database per Project WebApp
PowerPivot Full SP BackupSQL Backup Small Read heavy
  • Scale up
Performance Point Full SP BackupSQL Backup Small Read heavy
  • Scale up, Scale out by creating new Service Applications
State Service Full SP BackupSQL Backup Medium to Large Read heavy
  • Scale out by creating additional Databases
Master Simple SQL Backup Small Varies
Model Full SQL Backup Small Varies
Msdb Simple SQL Backup Small Varies
Tempdb Simple SQL Backup Medium Varies
  • Locate on fast Disks and split Database to several Datafiles
Report Server – Catalog Full SQL Backup Small Read heavy
  • Scale Up
Report Server – Temp Full SQL Backup Small to XLarge Read heavy
  • Scale Up
Report server – Alerting Full SQL Backup Small to XLarge Equal Read Write heavy
  • Scale Up
  • Must be on same Server as the Repprt Server – Catalog

1.2         Database Maintenance

Source: http://technet.microsoft.com/en-us/library/cc262731(v=office.14).aspx

These advices were published for SharePoint 2010 but mainly still apply for SharePoint 2013. Only the Timer Jobs might have changed that do automatic Index Maintenance. For all Databases that are used for SharePoint 2013 Content do regularly Database Maintenance.

Action Databases Frequency Notes
DBCC CHECKDB All SharePoint DBs Weekly of before each Full Backup
  • You cannot run DBCC CHECKDB WITH REPAIR_ALLOW_DATA_LOSS.
  • You can run DBCC_CHECKDB WITH REPAIR_FAST and REPAIR_REBUILD
Index Rebuilding All SharePoint DBs Depends on:-          If Database has a Timer Job

–          Fragmentation Level

 

Fragmentation methods

 

Fragmentation level Defragmenta-tion method
Up to 10% Reorganize (online)
10-75% Rebuild (online)
75% Rebuild (offline)
  • Online Index Rebuild only for SQL Enterprise
  • Fallback from Online to Offline Index Rebuild might occur on special occasions (e.g. for LOB Columns)
  • Many of the SP Indexes are rebuilt Offline because of LOB Content (like documents, Pictures etc.)
  • Offline and Online Index Rebuild result in Locks or inaccessibility of Indexes and should therefore be done in low activity times
  • Use “sys.dm_db_index_physical_stats” to measure Fragmentation. Values from 0 to 10 in Column “avg_fragmentation_in_percent” are acceptable
  • SharePoint Timer Jobs (Health Rules) are doing a part of Index defragmentation and Stats updates
  • Timer Jobs look for its associated databases and performs proc_DefragmentIndices stored procedure on int. Indexes with Fragmentation > 30% are considered for reindex
  • Not all Databases have Timer Jobs and should be monitored manually
  • Using DROP INDEX or CREATE INDEX Operations are NOT supported on SharePoint Databases
AutoShrink All SharePoint DBs Never
  • Better Solution is to create a new database, move the Site Collections and delete the old database
  • Only if there is definitely a very high amount of unused space and you do not plan to reuse it and only for Content Databases
  • EMPTYFILE Option is not supported
  • TRUNCATEONLY Option is not supported
Maintenance Cleanup All SharePoint DBs Weekly or with scheduled maintenance plans

 

1.3         Supported and Unsupported Chagnes on SharePoint DBs

The Microsoft Office server products store data in Microsoft SQL Server databases. These products use various stored procedures for regular processing. Therefore, the Microsoft SQL Server databases are important to the successful operation of these products.

SharePoint Products were tested by using a database structure as designed by the SharePoint Development Team and were approved for release based on that structure. Microsoft cannot reliably predict the effect to the operation of these products when parties other than the Microsoft SharePoint Development Team or Microsoft SharePoint Support agents make changes to the database schema, modify its data, or execute ad hoc queries against the SharePoint databases. Exceptions are described in the „Supported Database Modifications“ section.

1.3.1        Unsupported Database Changes

Examples of unsupported database changes include, but are not limited to, the following:

  • Adding database triggers
  • Adding new indexes or changing existing indexes within tables
  • Adding, changing, or deleting any primary or foreign key relationships
  • Changing or deleting existing stored procedures
  • Calling existing stored procedures directly, except as described in the SharePoint Protocols documentation
  • Adding new stored procedures
  • Adding, changing, or deleting any data in any table of any of the databases for SharePoint
  • Adding, changing, or deleting any columns in any table of any of the databases for SharePoint
  • Making any modification to the database schema
  • Adding tables to any of the databases for SharePoint
  • Changing the database collation
  • Running DBCC_CHECKDB WITH REPAIR_ALLOW_DATA_LOSS (However, running DBCC_CHECKDB WITH REPAIR_FAST and REPAIR_REBUILD is supported, as these commands only update the indexes of the associated database.)
  • Enabling SQL Server change data capture (CDC)
  • Enabling SQL Server transactional replication
  • Enabling SQL Server merge replication

If an unsupported database modification is discovered during a support call, the customer must perform one of the following procedures at a minimum:

  • Perform a database restoration from the last known good backup that did not include the database modifications
  • Roll back all the database modifications

 

If a previous version of the database that does not include the unsupported modifications is unavailable, or if the customer cannot roll back the database modifications, the customer must recover the data manually. The database must be restored to an unmodified state before Microsoft SharePoint Support can provide any data migration assistance.

If it is determined that a database change is necessary, a support case should be opened to determine whether a product defect exists and should be addressed.

1.3.2        Supported database modifications

Exceptions to the prohibition against database modifications are made for specific usage scenarios:

  • Operations that are initiated from the SharePoint administrative user interface
  • SharePoint specific tools and utilities that are provided directly by Microsoft (for example, Ststadm.exe)
  • Changes that are made programmatically through the SharePoint Object Model and that are in compliance with the SharePoint SDK documentation
  • Activities that are in compliance with the SharePoint Protocols documentation

Additionally, in rare circumstances during a support incident, Microsoft SharePoint Support agents may give customers scripts that modify the databases that are used by SharePoint. In these cases, all modifications are reviewed by the SharePoint Development Team to ensure that the operations being performed will not result in an unstable or unsupported database state. Database changes that are made with the guidance of a Microsoft SharePoint Support agent during the course of a support incident will not result in an unsupported database state. Customers may not reapply the scripts or changes provided by Microsoft SharePoint Support outside of a support incident.

1.3.3        Read operations addendum

Reading from the SharePoint databases programmatically, or manually, can cause unexpected locking within Microsoft SQL Server which can adversely affect performance. Any read operations against the SharePoint databases that originate from queries, scripts, .dll files (and so on) that are not provided by the Microsoft SharePoint Development Team or by Microsoft SharePoint Support will be considered unsupported if they are identified as a barrier to the resolution of a Microsoft support engagement.

If unsupported read operations are identified as a barrier to the resolution of support engagement, the database will be considered to be in an unsupported state. To return the database to a supported state, all unsupported read activities must stop.

2         SQL Maintenance Script

Source: http://ola.hallengren.com/scripts/MaintenanceSolution.sql

The SQL Server Maintenance Solution comprises scripts for running backups, integrity checks, and index and statistics maintenance on all editions of Microsoft SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, and SQL Server 2014. The solution is based on stored procedures, the sqlcmd utility, and SQL Server Agent jobs. I designed the solution for the most mission-critical environments, and it is used in many organizations around the world. Numerous SQL Server community experts recommend the SQL Server Maintenance Solution, which has been a Gold winner in the 2013, 2012, 2011, and 2010 SQL Server Magazine Awards. The SQL Server Maintenance Solution is free.

 

SharePoint 2013 Cumulative Update Juni 2013


SharePoint Foundation 2013
2817346 für SharePoint Foundation 2013
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2817346

Download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2817346&kbln=en-us

SharePoint Server 2013
Das Server 2013 Package ist leider verspätet, ich werde euch updaten, sobald es folgt.

Office Web Application Server 2013
2817350 für Microsoft Office Web Apps Server 2013
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2817350

Download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2817350

SharePoint Designer 2013
2768343 für SharePoint Designer 2013
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2768343

Download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2768343

SkyDrive Pro als Standallone Download verfügbar


Eines der super neuen Features von Office 365, Office 2013 und SharePoint 2013 ist die Dokumentensynchronisation a la Dropbox. Die gesamte Thematik “Documents follow me” wird damit auf SharePoint gebracht.

Bis anhin war das Tool allen Office 2013 Pro Plus Benutzern vorbehalten, ab sofort gibt es dafür einen kostenlosen Client, den jedermann installieren kann!!!

DOWNLOAD

Reference: http://blogs.office.com/b/sharepoint/archive/2013/05/21/skydrive-pro-client-for-windows-now-available.aspx

Mehrsprachigkeit für SharePoint 2013 mit Fokus “Collaboration”


In einem aktuellen projekt haben wir uns gefragt, wie wir in einem Kollaborativen Umfeld einige Seiten mit Mehrsprachigkeit versehen können. Wie in unserem Beispiel die Collaboration Community, die einerseits Informationen in D, FR und IT beinhaltet, jedoch im Grossteil entweder in der Corporage Language, oder in einer jeweiligen Landessprache, wenn alle Beteiligten die Sprache beherrschen. Es kann auch mal gemischter Content sein, Collaborative eben.

Natürlich könnten wir Variations benutzen, das wäre das naheliegende. Aber dann wäre die Diskussion in der Community auch getrennt, und dass will man ev. nicht. Ausserdem extra eine Publishing Seite machen, schien mir nicht zielführend, da es sich eben um eine Kollaborative seite handelt. SharePoint 2013 macht es mir ja einfach, Script Blöcke einzubauen, also hab ich mir überlegt, ob es nicht mit Javascript klappen könnte, die Browsersprache raus zu popeln und anhand dieser auf Sprachseiten (aspx Wikipages) zu routen. Nach ein paar Anläufen, mit tollen Hilfe von Thorsten Hans und Kevin Mees ist es uns dann gelungen, einen entsprechenden Script zu bauen.

Die Funktionsweise ist ziemlich simpel. Die Homepage der Community ist eine leere Seite, welche nur Javascript enthält und anhand der Browsersprache auf die richtige Home Seite verzweigt. Die sprachabhängigen Homeseiten wiederum enthalten zum Einen Text in der jeweiligen Sprache aber auch wiederverwendbare Elemente wie z.B. die Community Members. So haben wir dieselbe Datenbasis mit mehrsprachigen Info-Seiten.

Weiter war uns wichtig, dass de-ch, de-de, de-at oder fr und fr-ch gleich behandelt werden, und auch da haben wir eine Lösung gefunden. Wir beachten einfach die ersten zwei Zeichen.

Als Sahnehäubchen sind Wikipages ja eben Wikipages, und auf jeder Sprachseite implementieren wir noch DE | [[Community-Home-fr|FR]] | [[Community-Home-it|IT]] damit jederzeit auf eine andere Sprache umgeschaltet werden kann.

Multi Language Support

Und natürlich hier der Javascript, welcher verwendet wurde um auf die Sprachseiten (Wikipages) zu verzweigen

var browserLanguage = window.navigator.userLanguage || window.navigator.language;
var redirectTo = "/topic/collaborationcommunity/SitePages/Community-Home-de.aspx";
switch (browserLanguage.substring(0,2)) {
  case "de":
  break;
  case "fr":
  redirectTo ="/topic/collaborationcommunity/SitePages/Community-Home-fr.aspx";
  break;
  case "it":
  redirectTo ="/topic/collaborationcommunity/SitePages/Community-Home-it.aspx";
  break;
  default:
  break;
}
window.location = redirectTo;

Nicht jeder Browser ist gleichschnell, z.B. der IE ist mit Javascript langsam, und es dauert eine halbe Sekunde bis der Redirect erfolgt. Chrome sieht man keinen switch.

Für die langsamen Browser haben wir noch die allgemeinen elemente auf die Home Seite gepackt, und per loading gif ein asynchrones Laden der Seite simuliert.

loading

Das sieht dann so aus:

CommunitySwitch

So sind die User glücklich, auch wenn der Browser eine halbe Sekunde zum umschalten braucht, und wir haben eine sehr einfache und günstige Lösung für diese Bereiche einer Kollaborationsplattform, die eben ggf. trotzdem Mehrsprachig sein sollen.

So long, Samuel

Aufsetzen von SharePoint 2013 mit Powershell


So, endlich hab ich mir mal die Zeit genommen, die ganze Setup Geschichte von SharePoint 2013 mit Powershell anzuschauen. Mit ein paar bereits vorhandenen Scripts (ich will ja das Rad nicht neu erfinden) habe ich ein neues, bereinigtes, durchgängig strukturiertes und funktionierendes Zwinkerndes Smiley script zusammengestellt. Mittels dem Bereich “Definition of Variables and basic prep” könnt ihr alle Variablen angeben, und bei den $Create… Variablen mit 0 (nein) oder 1 (ja) angeben, ob ihr die entsprechende Service Application erstellen wollt oder nicht.

Der Script macht:

  1. SQL Server Aliases
  2. Managed Accounts
  3. Configuration Wizzard Tasks
  4. Farm Configuration Tasks

Benutzung auf eigene Gefahr. Vorgehen wie folgt:

  1. SharePoint 2013 Prep Tool laufen lassen
  2. SharePoint Installation laufen lassen
  3. den Haken am Ende der Installation raus nehmen
  4. Powerhsell laufen lassen (braucht erhöhte Rechte im SQL Server)

und gut ist.

So long, Samuel

 

############################################################
# Configures a SharePoint 2013 Farm                        #
# Samuel Zuercher, Experts Inside GmbH                     #
# @sharepointszu, szu@expertsinside.com                    #
#                                                          #
# Special Thanks to: Jason Warren, Zach and @sharepointeng #
# for basic scripts I started with                         #
#                                                          #
# Last modified 27.02.2013                                 #
#                                                          #
############################################################



############################################################
#                                                          #
# Farm Setup Section                                       #
# Definition of variables and basic prep                   #
#                                                          #
############################################################

# Domain
$DOMAIN = "DEMO"

# Application Pool for Services
$SaAppPoolName = "SharePoint Web Services Default"

# Basic Accountcredentials
$accounts = @{}
$accounts.Add("SPFarm", @{"username" = "sp-farm"; "password" = "Test12345"})
$accounts.Add("SPWebApp", @{"username" = "sp-portal"; "password" = "Test12345"})
$accounts.Add("SPSvcApp", @{"username" = "sp-services"; "password" = "Test12345"})

# SQL Alias
$SQLAliasName = "SharePointDB_Prod" #NoSpaces, make sure you know the name is selfexplaining, as it will stay as long the farm lives. No Years or Versions!!
$SQLServerName = "SQL\SHAREPOINT"   #Include Instance Name
$x86 = "HKLM:\Software\Microsoft\MSSQLServer\Client\ConnectTo"
$x64 = "HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo"

# Security Passphrase for SharePoint Setup
$ConfigPassphrase = "MySharePointIs2013"

# Giving the Names for Databases
$dbConfig = "TBD_DEMO_SharePoint_Config"
$dbCentralAdmin = "TBD_DEMO_SharePoint_CentralAdmin"

# Central Admin Port and Authentication Method
$CaPort = 11111
$CaAuthProvider = "NTLM"

# If you do not want to create a particular SA, set the Create...SA Flag to 0
# Usage and Health Data Collection Service Application
$CreateUsageAndHealth = 1
$UsageSAName = "Usage and Health Data Collection”
$dbUsageService = "TBD_DEMO_Usage_and_Health_Data"
$UsageLogLocation = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS”
$MaxUsageLogSpace = 5     #in GB

# State Service Application
$CreateStateSA = 1
$StateSAName = "State Service”
$dbStateService = "TBD_DEMO_State”

# Managed Metadata Service Application
$CreateManagedMetadataSA = 1
$ManagedMetadataSAName = "Managed Metadata Service”
$dbManagedMetadata = "TBD_DEMO_Managed_Metadata"

# Search Service Application and Topology
$CreateSearchService = 1
$SearchMachines = @("SP2013-V2")
$SearchQueryMachines = @("SP2013-V2")
$SearchCrawlerMachines = @("SP2013-V2")
$SearchAdminComponentMachine = "SP2013-V2"
$SearchSAName = "Search Service”
$dbSearchDatabase = "TBD_DEMO_Search”
$IndexLocation = "C:\SPIndex”

# Word Conversion Service Application
$CreateWordAutomation = 1
$WordSAName = "Word Automation Service"
$dbWordAutomation = "TBD_DEMO_WordAutomation"

# BCS Service Application
$CreateBcsSA = 1
$BcsSAName = "Business Connectivity Service"
$dbBcs = "TBD_DEMO_BusinessConnectivity"

# Secure store Service Application
$CreateSecureStore = 1
$SecureStoreSAName = "Secure Store Service"
$dbSecureStore = "TBD_DEMO_Secure_Store"

# Performance Point Service Application
$CreatePerformancePoint = 1
$PerformancePointSAName = "Performance Point Services"
$dbPerformancePoint = "TBD_DEMO_PerformancePoint"

# Visio Service Application
$CreateVisioService = 1
$VisioSAName = "Visio Services"

# User Profile Service Application
$CreateUserProfile = 1
$UserProfileSAName = "User Profile Service"
$dbUserProfile = "TBD_DEMO_UserProfile_Profiles"
$dbUserSocial ="TBD_DEMO_UserProfile_Social"
$dbUserSync ="TBD_DEMO_UserProfile_Sync"

# Subscription Settings Service Application
$CreateSubscription = 1
$SubscriptionSAName = “Subscription Settings Service”
$dbSubscription = "TBD_DEMO_Subscription_Settings"

# App management Service Application
$CreateAppMgmt = 1
$AppManagementSAName = "App Management Service"
$dbAppManagement = "TBD_DEMO_App_Management"

# Machine Translation Service Application
$CreateTranslationSA = 1
$TranslationSAName = “Machine Translation Service”
$dbTranslation = “TBD_DEMO_Machine_Translation”

# Work Management Service Application
$CreateWorkMgmtSA = 1
$WorkMgmtSAName = "Work Management Service"


############################################################
#                                                          #
# Prepare the Machine before configuring SharePoint        #
#                                                          #
############################################################

# Create the basic Accounts for Setup 
Foreach ($account in $accounts.keys) {
    $accounts.$account.Add(`
    "credential", `
    (New-Object System.Management.Automation.PSCredential ($DOMAIN + "\" + $accounts.$account.username), `
    (ConvertTo-SecureString -String $accounts.$account.password -AsPlainText -Force)))
}
  
# Check if Registry Key Paths for SQL-Alias already exist, create them if not
if ((test-path -path $x86) -ne $True)
{
    write-host "$x86 doesn't exist"
    New-Item $x86
}
if ((test-path -path $x64) -ne $True)
{
    write-host "$x64 doesn't exist"
    New-Item $x64
}
  
# Creating String to add TCP/IP Alias
$TCPAlias = ("DBMSSOCN," + $SQLServerName)
  
#Creating our TCP/IP Aliases
New-ItemProperty -Path $x86 -Name $SQLAliasName -PropertyType String -Value $TCPAlias
New-ItemProperty -Path $x64 -Name $SQLAliasName -PropertyType String -Value $TCPAlias
 
# Open cliconfig to verify the aliases
Start-Process C:\Windows\System32\cliconfg.exe
Start-Process C:\Windows\SysWOW64\cliconfg.exe

# Farm Passphrase
$s_configPassphrase = (ConvertTo-SecureString -String $ConfigPassphrase -AsPlainText -force)

 

############################################################
#                                                          #
# SharePoint 2013 Product Configuration Wizzard Steps      #
# No need to run the Wizzard within the GUI!!              #
#                                                          #
############################################################

# Make SharePoint PowerShell Availlable
Add-PSSnapin Microsoft.SharePoint.PowerShell

# Creating SharePoint Configuration Database
Write-Output "Creating the configuration database $dbConfig"
New-SPConfigurationDatabase -DatabaseName $dbConfig -DatabaseServer $SQLAliasName -AdministrationContentDatabaseName $dbCentralAdmin -Passphrase  $s_configPassphrase -FarmCredentials $accounts.SPFarm.credential
 
# Check to make sure the farm exists and is running. if not, end the script
$Farm = Get-SPFarm
if (!$Farm -or $Farm.Status -ne "Online") {
    Write-Output "Farm was not created or is not running"
    exit
}
 
Write-Output "Create the Central Administration site on port $CaPort"
New-SPCentralAdministration -Port $CaPort -WindowsAuthProvider $CaAuthProvider
 
# Perform the config wizard tasks
 
Write-Output "Install Help Collections"
Install-SPHelpCollection -All
 
Write-Output "Initialize security"
Initialize-SPResourceSecurity
 
Write-Output "Install services"
Install-SPService
 
Write-Output "Register features"
Install-SPFeature -AllExistingFeatures
 
Write-Output "Install Application Content"
Install-SPApplicationContent
 
 
# Add managed accounts
Write-Output "Creating managed accounts ..."
New-SPManagedAccount -credential $accounts.SPWebApp.credential
New-SPManagedAccount -credential $accounts.SPSvcApp.credential
 
#Start Central Administration
Write-Output "Starting Central Administration"
& 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\BIN\psconfigui.exe' -cmd showcentraladmin
 
Write-Output "Farm build complete."



############################################################
#                                                          #
# Functions to create Service Applications                 #
#                                                          #
############################################################

# Usage and Health Data Collection
function UsageAndHealthSA {
    Write-Host "Creating Usage and Health Data Collection..."
    Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation $UsageLogLocation -UsageLogMaxSpaceGB $MaxUsageLogSpace
    $UsageService = Get-SPUsageService
    New-SPUsageApplication -Name $UsageSAName -DatabaseServer $SQLAliasName -DatabaseName $dbUsageService -UsageService $UsageService > $null
    }

# State Service
function StateServiceSA {
    Write-Host "Creating State Service..."
    New-SPStateServiceDatabase -Name $dbStateService
    $StateSAPipe = New-SPStateServiceApplication -Name $StateSAName -Database $dbStateService
    New-SPStateServiceApplicationProxy -Name "$StateSAName Proxy” -ServiceApplication $StateSAPipe -DefaultProxyGroup
    }

# Managed Metadata Service Application
function ManagedMetadataSA {
    Write-Host "Creating Managed Metadata Service..."
    New-SPMetadataServiceApplication -Name $ManagedMetadataSAName –ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName -DatabaseName $dbManagedMetadata > $null
    New-SPMetadataServiceApplicationProxy -Name "$ManagedMetadataSAName Proxy” -ServiceApplication $ManagedMetadataSAName -DefaultProxyGroup > $null
    Get-SPServiceInstance | where-object {$_.TypeName -eq $ManagedMetadataSAName} | Start-SPServiceInstance > $null
}

# Enterprise Search SA and Topology
function EnterpriseSearchSA {
    Write-Host "Creating Search Service Application…”
    Write-Host "Starting Services…”
    foreach ($Machine in $SearchMachines) {
        Write-Host ” Starting Search Services on $Machine”
        Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $Machine -ErrorAction SilentlyContinue
        Start-SPEnterpriseSearchServiceInstance $Machine -ErrorAction SilentlyContinue
    }
    Write-Host "Creating Search Service Application…”
    $SearchSA = New-SPEnterpriseSearchServiceApplication -Name $SearchSAName -ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName -DatabaseName $dbSearchDatabase
    $SearchInstance = Get-SPEnterpriseSearchServiceInstance -Local
    Write-Host "Defining the Search Topology…”
    $InitialSearchTopology = $SearchSA | Get-SPEnterpriseSearchTopology -Active
    $NewSearchTopology = $SearchSA | New-SPEnterpriseSearchTopology
    Write-Host "Creating Admin Component…”
    New-SPEnterpriseSearchAdminComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Analytics Component…”
    New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Content Processing Component…”
    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Query Processing Component…”
    New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Crawl Component…”
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Index Component…”
    if (!(Test-Path -path $Indexlocation)) {New-Item $Indexlocation -Type Directory}
    New-SPEnterpriseSearchIndexComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance -RootDirectory $IndexLocation
    Write-Host "Activating the new topology…”
    $NewSearchTopology.Activate()
    Write-Host "Creating Search Application Proxy…”
    $SearchProxy = Get-SPEnterpriseSearchServiceApplicationProxy -Identity "$SearchSAName Proxy” -ErrorAction SilentlyContinue
    if (!$searchProxy) {
        New-SPEnterpriseSearchServiceApplicationProxy -Name "$SearchSAName Proxy” -SearchApplication $SearchSA
    }
}

function WordAutomationSA {
    Write-Host "Creating Word Automation Service..."
    New-SPWordConversionServiceApplication -Name $WordSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbWordAutomation -DatabaseServer $SQLAliasName -Default
}

function BcsSA {
    Write-Host "Creating Business Connectivity Service..."
    $BcsSAPipe = New-SPBusinessDataCatalogServiceApplication –ApplicationPool $SaAppPoolName –DatabaseName $dbBcs –DatabaseServer $SQLAliasName –Name $BcsSAName
    #New-SPBusinessDataCatalogServiceApplicationProxy -Name “$BcsSAName Proxy“ -ServiceApplication $BcsSAPipe -DefaultProxyGroup
}

function SecureStoreSA {
    Write-Host "Creating Secure Store Service..."
    $SecureStoreSAPipe = New-SPSecureStoreServiceApplication –ApplicationPool $SaAppPoolName –AuditingEnabled:$false –DatabaseServer $SQLAliasName –DatabaseName $dbSecureStore –Name $SecureStoreSAName
    New-SPSecureStoreServiceApplicationProxy –Name “$SecureStoreSAName Proxy ” –ServiceApplication $SecureStoreSAPipe -DefaultProxyGroup
}

function PerformancePointSA {
    Write-Host "Creating PerformancePoint Service..."
    $PerformancePointSAPipe = New-SPPerformancePointServiceApplication -Name $PerformancePointSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbPerformancePoint
    New-SPPerformancePointServiceApplicationProxy -Name "$PerformancePointSAName Proxy" -ServiceApplication $PerformancePointSAPipe -Default
}

function VisioSA {
#    Write-Host "Creating Visio Service..."
#    $VisioSAPipe = New-SPVisioServiceApplication -Identity "Visio Services" -ServiceApplicationPool $SaAppPoolName
#    New-SPVisioServiceApplicationProxy -Name "$VisioSAName Proxy" -ServiceApplication $VisioSAPipe
}

function UserProfileSA {
    Write-Host "Creating User Profile Service..."
    $UserProfileSAPipe = New-SPProfileServiceApplication -Name $UserProfileSAName -ApplicationPool $SaAppPoolName -ProfileDBServer $SQLAliasName -ProfileDBName $dbUserProfile -SocialDBServer $SQLAliasName -SocialDBName $dbUserSocial -ProfileSyncDBServer $SQLAliasName -ProfileSyncDBName $dbUserSync
    New-SPProfileServiceApplicationProxy -Name “$UserProfileSAName Proxy” -ServiceApplication $UserProfileSAPipe -DefaultProxyGroup > $null
    Get-SPServiceInstance | where-object {$_.TypeName -eq $UserProfileSAName} | Start-SPServiceInstance > $null
}

function SubscriptionSA {
    Write-Host “Creating Subscription Settings Service…”
    $SubscriptionSAPipe = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $SaAppPoolName –Name $SubscriptionSAName –DatabaseName $dbSubscription
    New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $SubscriptionSAPipe
    Get-SPServiceInstance | where-object {$_.TypeName -eq $SubscriptionSAName} | Start-SPServiceInstance > $null
}

function AppManagementSA {
    Write-Host “Creating App Management Service…”
    $AppManagementSAPipe = New-SPAppManagementServiceApplication -Name $AppManagementSAName -DatabaseServer $SQLAliasName -DatabaseName $dbAppManagement –ApplicationPool $SaAppPoolName
    New-SPAppManagementServiceApplicationProxy -Name “$AppManagementSAName Proxy” -ServiceApplication $AppManagementSAPipe
    Get-SPServiceInstance | where-object {$_.TypeName -eq $AppManagementSAName} | Start-SPServiceInstance > $null
}

function MachineTranslationSA {
    Write-Host "Creating Machine Translation Service..."
    Get-SPServiceInstance | ? {$_.GetType().Name -eq $TranslationSAName} | Start-SPServiceInstance
    $MachineTranlsationSAPipe = New-SPTranslationServiceApplication -Name $TranslationSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbTranslation
    #New-SPTranslationServiceApplicationProxy –Name “$TranslationSAName Proxy” –ServiceApplication $MachineTranlsationSAPipe –DefaultProxyGroup
}

function WorkManagementSA {
    Write-Host "Creating Work Management Service..."
    $WorkManagementSAPipe = New-SPWorkManagementServiceApplication –Name $WorkMgmtSAName –ApplicationPool $SaAppPoolName
    New-SPWorkManagementServiceApplicationProxy -name “$WorkMgmtSAName Proxy” -ServiceApplication $WorkManagementSAPipe
}



############################################################
#                                                          #
# Do SharePoint Farm Configuration                         #
# No need to run the Wizzard within the GUI!!              #
#                                                          #
############################################################

# Make sure, Admin wants to go on Configuring the Farm with this Script
$DoConfig = Read-Host "Do you want to go on Configuring your Farm? (Y/N) Standard is Y"
if ($DoConfig -eq "N")
{
    exit
}

# Creating App Pool for Service Applications
New-SPServiceApplicationPool -Name $SaAppPoolName -Account (Get-SPManagedAccount -Identity "demo\sp-services")

# Calling Functions to create
# Create Usage and Health Data Collection Service Applications
if ($CreateUsageAndHealth -eq 1) {
    UsageAndHealthSA
}

# Create State Service Application
if ($CreateUsageAndHealth -eq 1) {
    StateServiceSA
}

# Create Manage Metadata Service Application
if ($CreateManagedMetadataSA -eq 1) {
    ManagedMetadataSA
}

# Create Enterprise Search Service Application
if ($CreateSearchService -eq 1) {
    EnterpriseSearchSA
}

# Create Word Automation Service Application
if ($CreateWordAutomation -eq 1) {
    WordAutomationSA
}

# Create BCS Service Application
if ($CreateBcsSA -eq 1) {
    BcsSA
}

# Create Secure Store Service Application
if ($CreateSecureStore -eq 1) {
    SecureStoreSA
}

# Create Performance Point Service Application
if ($CreatePerformancePoint -eq 1) {
    PerformancePointSA
}

# Create Visio Service Application
if ($CreateVisioService -eq 1) {
    VisioSA
}

# User Profile Service Application
if ($CreateUserProfile -eq 1) {
    UserProfileSA
}

# Subscription Settings Service Application
if ($CreateSubscription -eq 1) {
    SubscriptionSA
}

# App Management Service Application
if ($CreateAppMgmt -eq 1) {
    AppManagementSA
}

# Machine Translation Service Application
if ($CreateTranslationSA -eq 1) {
    MachineTranslationSA
}

# Work Management Service Application
if ($CreateWorkMgmtSA -eq 1) {
    WorkManagementSA
}

Aus dem Alltag: Fehler beim Erstellen des BI Centers


Wenn Sie ein BI Center aus SharePoit 2013 erstellen wollen, müssen zwei Bedingungen erfüllt sein.

  1. Das Publishing Feature muss in der Site Collection aktiviert sein
  2. Performance Point muss aktiviert sein.

Fehlt das Publishing, so gibt SharePoint eine klare Ansage, dass Publishing fehlt. Beim Performance Point Feature erscheint eine allseits beliebte SharePoint Meldung:

Dependency feature ‚PPSMonDatasourceCtype‘ (id: 05891451-f0c4-4d4e-81b1-0dabd840bad4) for feature ‚BICenterDataConnections‘ (id: 3d8210e9-1e89-4f12-98ef-643995339ed4) is not activated at this scope.

Super, damit kann ich ja wiedermal viel anfangen Trauriges Smiley. Aus diesem Grund dieser Blogpost, Perfromance Point Feature aktivieren und los geht’s.

image

image

image

image

So long, Samuel

Weitere Ressourcen für SharePoint 2010 und 2013


Technet hat weitere Ressourcen für SharePoint 2013 zur Verfügung gestellt.

Viel Spass
so long, Samuel

Download
SharePoint Server 2013 Preview
Office ProPlus 365 Preview
SharePoint Online (Office 365)
SharePoint Server 2010
SharePoint Foundation 2010
SharePoint Designer 2010
SharePoint code samples
SharePoint scripts and sample files
SharePoint 2010 downloads
Office 365 downloads

How To
Build apps for SharePoint
Install SharePoint 2010
Maintain SharePoint 2010
Train SharePoint end users
SharePoint SDKs
SharePoint developer training
SharePoint developer videos
SharePoint IT pro training
SharePoint IT pro videos
Open specifications
SharePoint protocols
Open Specifications Interactive Pivot

Sites
SharePoint developers
SharePoint IT pros
Office developers
Office 365 developers
Office 365 IT pros
Visual Studio developers
SharePoint Online
Office 2010 Resource Kit
Office.com: SharePoint
Microsoft.com: SharePoint
Microsoft.com: Office 365
Upcoming conferences on TopSharePoint.com

Help
SharePoint updates
Apps for Office and SharePoint blog
SharePoint Developer Team blog
Forums: SharePoint 2010
Forums: Office 365
TechNet Wiki
StackExchange: SharePoint
StackOverflow: SharePoint
SharePoint MVPs
SharePoint IT pro support
SharePoint developer support

Komplettes Set an Training Videos für SharePoint 2013


Microsoft hat ein komplettes Set an Training Videos zur Verfügung gestellt. Leider sind die Videos nur in englischer Sprache.

Viel Spass beim anschauen

So long, Samuel

Module 1: SharePoint 2013 IT pro introduction and overview

Get an overview of key changes and new concepts in SharePoint Server 2013 and SharePoint Foundation 2013.

  1. Overview of SharePoint 2013 features and scenarios for IT pros
    Video | Presentation
Module 2: SharePoint 2013 system requirements

Learn about the hardware and software requirements for SharePoint 2013 and supported browser levels and setup considerations.

  1. SharePoint 2013 system requirements
  2. Video | Presentation
Module 3: SharePoint 2013 architectural changes

Learn about key architectural changes in the SharePoint 2013 platform. We’ll highlight the most relevant changes from an overall architectural perspective.

  1. Creating routing and throttling rules in SharePoint 2013
    Video | Presentation
  2. Overview of SharePoint 2013 analytics features and implementation
    Video | Presentation
Module 4: SharePoint 2013 server farms and site architecture planning

Plan for server farms and sites in SharePoint 2013. Learn about planning for the distributed cache, changes in alternate access mappings and self-service site creation, new features in themes, and new ways to share sites, lists, and libraries.

  1. SharePoint 2013 distributed cache service
    Video | Presentation
  2. SharePoint 2013 alternate access mapping and self-service site creation
    Video | Presentation
  3. Change, test, and implement site collection themes in SharePoint 2013
    Video | Presentation
  4. Overview of SharePoint 2013 sharing including requesting and viewing permissions
    Video | Presentation
Module 5: Office Web Apps 2013 architecture and deployment

Learn about the new architecture and deployment model for Office Web Apps including architectural changes, deployment options, and operation aspects.

  1. Overview of Office Web Apps 2013
    Video | Presentation
  2. Deploying Office Web Apps 2013
    Video | Presentation
  3. Managing Office Web Apps 2013
    Video | Presentation
Module 6: SharePoint 2013 service application architecture and individual service applications

Get an overview of about changes in individual service applications in SharePoint 2013, including new service applications, general considerations, and changes in service application architecture.

  1. Compare SharePoint 2013 and SharePoint 2010 service application architectures
    Video | Presentation
  2. SharePoint 2013 changes and features in Access services
    Video | Presentation
  3. SharePoint 2013 changes and features in the apps management service application
    Video | Presentation
  4. SharePoint 2013 changes and features in Business Connectivity Services
    Video | Presentation
  5. SharePoint 2013 changes and features in Excel services
    Video | Presentation
  6. SharePoint 2013 changes and features in the User Profile service application
    Video | Presentation
  7. Walkthrough SharePoint 2013 features in the new machine translation service
    Video | Presentation
  8. SharePoint 2013 changes and features in PerformancePoint services
    Video | Presentation
  9. SharePoint 2013 changes and features in Visio services
    Video | Presentation
  10. Walkthrough SharePoint 2013 features in the work management service application
    Video | Presentation
  11. SharePoint 2013 changes and features in Word automation service
    Video | Presentation
Module 7: SharePoint 2013 enterprise search overview

Learn about the redesigned Enterprise Search in SharePoint 2013 including architectural changes to physical and logical topologies, details about configuration options for crawling, content, and query.

  1. SharePoint 2013 search architecture and topology changes and features
    Video | Presentation
  2. SharePoint 2013 search crawl and content configuration changes and features
    Video | Presentation
  3. SharePoint 2013 search query configuration changes and features
    Video | Presentation
  4. SharePoint 2013 search results interface choices changes and features
    Video | Presentation
Module 8: SharePoint 2013 social features

Social is one of the largest investments in SharePoint 2013. New features and capabilities provide a better and more comprehensive story for social computing in SharePoint 2013. Get a walkthrough of social features in SharePoint 2013.

  1. Overview of SharePoint 2013 social features
    Video | Presentation
  2. SharePoint 2013 community sites and forums
    Video | Presentation
  3. SharePoint 2013 My Site architecture and administration
    Video | Presentation
  4. SharePoint 2013 My Site feeds walkthrough
    Video | Presentation
  5. SharePoint 2013 My Site follow walkthrough
    Presentation
  6. SharePoint 2013 My Site personal libraries walkthrough
    Video | Presentation
  7. SharePoint 2013 My Site My Tasks walkthrough
    Video | Presentation
Module 9: SharePoint 2013 enterprise content management and web content management considerations

Get an overview of key changes and improvements in enterprise content management (ECM) and web content management (WCM) in SharePoint 2013. Learn about new capabilities from eDiscover improvements to major new capabilities for WCM-driven sites.

  1. SharePoint 2013 Enterprise Content Management walkthrough
    Video | Presentation
  2. SharePoint 2013 Web Content Management walkthrough
    Video | Presentation
  3. SharePoint 2013 managed metadata walkthrough
    Video | Presentation
Module 10: SharePoint 2013 customization options and management

Learn about the new customization capabilities in SharePoint 2013 and what that means from IT pro perspective. Learn about required infrastructural changes for new customization capabilities and setting up team development environments.

  1. SharePoint 2013 app model and customization options
    Video | Presentation
  2. SharePoint 2013 app infrastructure configuration and isolation
    Video | Presentation
  3. Overview of the SharePoint 2013 renewed developer dashboard
    Video | Presentation
  4. Setting up team development infrastructure for SharePoint 2013 development
    Video | Presentation
  5. Using SharePoint 2013 Designer to create workflows in SharePoint 2013
    Video | Presentation
Module 11: SharePoint 2013 authentication and authorization overview

Get an overview of changes in claims-based authentication in SharePoint 2013. Learn about new support for OAuth and how it’s used in SharePoint 2013. Also see how OAuth is used in Server to Server (S2S) authentication scenarios.

  1. Claims-based authentication in SharePoint 2013
    Video | Presentation
  2. oAuth authentication in SharePoint 2013
    Video | Presentation
Module 12: Overview of SharePoint 2013 business continuity management

Learn about the approaches and techniques to use when devising a meaningful and cost-effective business continuity management (BCM) strategy for SharePoint 2013.

  1. Design considerations for business continuity management in SharePoint 2013
    Video | Presentation
  2. SharePoint 2013 business continuity management features
    Video | Presentation
Module 13: Upgrading to SharePoint 2013

Learn about the different facets of upgrade preparation and understand the key skills and techniques you’ll need to successfully upgrade to SharePoint 2013.

  1. SharePoint 2013 upgrade methods and best practices walkthrough
    Video | Presentation
  2. SharePoint 2013 upgrade planning tasks and preparation walkthrough
    Video | Presentation
  3. SharePoint 2013 upgrade test tasks and options walkthrough
    Video | Presentation
  4. SharePoint 2013 upgrade implementation tasks and options walkthrough
    Video | Presentation
  5. SharePoint 2013 upgrade validation tasks walkthrough
    Video | Presentation
Module 14: What’s new in Project 2013 for IT pros

Get details about new enhancements for Project Server 2013 for IT pros, including both on-premises and online offerings. Learn about changes in the architecture, deployment and upgrade options, and administration and operations.

  1. Project 2013 overview for IT pros
    Video
  2. Project Online overview
    Video
  3. Project 2013 scalability and performance improvements
    Video
  4. Project 2013 flexibility overview and improvements
    Video
  5. Summary of what’s new in Project 2013 for IT pros
    Video

Big News: SharePoint kann ab sofort auf Windows Azure VMs installiert werden


Wie ich kürzlich erfahren habe, kann man seit dem Spring Update von Windows Azure auch supporteterweise SharePoint Farmen aufsetzen. Das ist ein sehr spannendes Szenario, da es z.B. auch möglich ist, einen VPN Tunnel zum eigenen Netzwerk zu erstellen und somit zu internen Diensten zu connecten. Microsoft nennt das Baby IAAS – Infrastructure as a Service. Weitere Infos unter http://www.windowsazure.com

Ein ausführliches Video davon gibt es auf Channel 9 (TechEd 2012): http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/AZR327Es können ganze Farmen aufgesetzt werden.

Ich bin soeben in einem ersten Projekt dabei, mit Officeatwork eine solche Farm hoch zu ziehen.

  • 2 x WFE für SharePoint FIS
  • 2 x WFE für Intranet
  • 2 x App Server
  • 2 x SQL für Datenbank Cluster
  • 2 x Active Directory

Stay tuned, sobald ich das Szenario habe werde ich einen step by step guide posten (sofern ich dazu komme Smiley) so long, Samuel

Automatisch User im AD anlegen für SharePoint Demo Umgebung


Das wollte ich euch schon lange mal posten, hab ich für SharePoint Advent gemacht.

Wenn man hie und da ein Demoszenario aufsetzt wie wohl wir aller hier, dann wäre es ja schön, auch ein paar Personen mit im AD zu haben, um auch den Profilimport zu testen und den Organisational Browser zeigen zu können. Aus diesem Grund habe ich ein Script gesucht, der mir User im AD anlegt. Ich habe Teile gefunden und den Script vervollständigt. Zusätzlich habe ich euch ein Excel mit Userdaten, die ihr verwenden könnt.

Vorgehen:

Eine OU “Employees“ anlegen

Script laufen lassen

Vorgesetzte zuordnen (sorry, das hab ich nicht auch noch gemacht, so könnt ihr das CSV so umgestalten bzw. erweitern wie ihr wollt)

Hier der Script:

$path = "OU=Employees,$domain"
$employees = Get-ADObject -Filter {distinguishedname -eq $path}
$users = import-csv -Delimiter ";" -Path "C:\Scripts\usersToBeCreated.csv"
$ldappath = "LDAP://$path"
$container = [ADSI] $ldappath
$users | foreach {
$first = $_.FirstName
$last = $_.LastName
$phone=$_.Phone
$mobile=$_.Mobile
$office=$_.Office
$job=$_.Job
$username = "$first" + "." + "$last"
$email = "$username" + "@szu.local"
$newUser = $container.Create("User", "cn=„ + "$first" + „ „ + "$last")
$newUser.Put("sAMAccountName", $username)
$newUser.Put("userPrincipalName","$username" + "@szu.local")
$newUser.Put("givenname",$first)
$newUser.Put("sn",$last)
$newUser.Put("mail",$email)
$newUser.Put("description","Experts Inside User")
$newUser.Put("co","Switzerland")
$newUser.Put("company","Experts Inside GmbH")
$newUser.Put("countryCode",756)
$newUser.Put("displayName","$first" + „ „ + "$last")
$newUser.Put("telephoneNumber","$phone")
$newUser.Put("l","Wil")
$newUser.Put("mobile","$mobile")
$newUser.Put("physicalDeliveryOfficeName","$office")
$newUser.Put("postalCode","9500")
$newUser.Put("st","SG")
$newUser.Put("streetAddress","Alleestrasse 4")
$newUser.Put("title","$job")
$newUser.SetInfo()
$newUser.psbase.InvokeSet('AccountDisabled', $false)
$newUser.SetInfo()
$newUser.SetPassword("Training2010”)
}

 

Dazu zugehörige CSV:

FirstName;LastName;Phone;Mobile;Office;Job
Franz;Schmid;055 382 16 20;074 265 15 20;A380;Sales and Marketing
Hans;Muster;055 382 16 21;074 265 15 21;A380;Sales and Marketing
Fritz;Meier;055 382 16 22;074 265 15 22;A380;Sales and Marketing
Karl;Glanzmann;055 382 16 23;074 265 15 23;A380;Sales and Marketing
Fred;Muster;055 382 16 24;074 265 15 24;A381;Lead Sales and Marketing
Thomas;Zuercher;055 382 16 25;074 265 15 25;B240;Administration
Alfred;Trimmbach;055 382 16 26;074 265 15 26;B240;HR
Marianne;Mueller;055 382 16 27;074 265 15 27;B240;HR
Verena;Maeder;055 382 16 28;074 265 15 28;B240;HR
Simon;Albrecht;055 382 16 51;075 265 15 51;B240;Finances
Patricia;Opprecht;055 382 16 29;074 265 15 29;B240;Finances
Andreas;Meier;055 382 16 30;074 265 15 30;B241;Lead HR, Admin and Finances
Stefan;Heinz;055 382 16 31;074 265 15 31;C320;Consultant
Hilton;Gieswnow;055 382 16 32;074 265 15 32;C320;Consultant
Rolf;Beck;055 382 16 33;074 265 15 33;C320;Consultant
Elvira;Beck;055 382 16 34;074 265 15 34;C320;Consultant
Hedwig;Grunder;055 382 16 35;074 265 15 35;C320;Consultant
Nicole;Hang;055 382 16 36;074 265 15 36;C320;Consultant
Dani;Sangue;055 382 16 37;074 265 15 37;C320;Consultant
Martin;Wille;055 382 16 38;074 265 15 38;C320;Consultant
Marcel;Spring;055 382 16 39;074 265 15 39;C320;Consultant
Juerg;Flueckiger;055 382 16 40;074 265 15 40;C320;Consultant
Simran;Chawla;055 382 16 41;074 265 15 41;C321;Lead Consulting
Norberto;Restrepo;055 382 16 42;074 265 15 42;D450;Developper
Adriano;Celentano;055 382 16 43;074 265 15 43;D450;Developper
Serge;Aeschbacher;055 382 16 44;074 265 15 44;D450;Developper
Sandro;Betinelli;055 382 16 45;074 265 15 45;D450;Developper
Silvan;Maletti;055 382 16 46;074 265 15 46;D450;Developper
Stephen;Marthaler;055 382 16 47;074 265 15 47;D450;Developper
Stefan;Iseli;055 382 16 48;074 265 15 48;D450;Developper
Peter;Mueller;055 382 16 49;074 265 15 49;D450;Developper
Doris;Zwahlen;055 382 16 50;074 265 15 50;D451;Lead Developpment
Christian;Glessner;055 382 16 53;074 265 15 53;X100;Management

 

So long, Samuel