Microsoft Federation Extensions for SharePoint 3.0 RC

Wednesday, December 23, 2009

The Microsoft Federation Extensions for SharePoint 3.0 RC enables federation for existing SharePoint deployments, both Windows SharePoint Services (WSS) 3.0 and Microsoft Office SharePoint Services (MOSS) 2007. Using this package, enterprise SharePoint administrators can configure their deployments to trust any WS-Federation STS, such as AD FS 2.0, so that an enterprise can take advantage of claims and offer their services to federation partners. The release can be downloaded here.

PowerShell Intro for SharePoint Administrators - Part 2

PowerShell has a rich set of advanced features that provide an Administrator with a multitude of options depending on what they would like to do. This nugget will take a more focused look into the many ways objects can be used. Remember, an object in this case is a variable. From Part 1 of this nugget, you know that variables are objects that hold something. This nugget will conclude with some PowerShell scripting basics. Thanks goes to Sheyi for providing a technical review.

PipeBind

PipeBind is a concept where a parameter accepts an object “variable” of a specific type. If you look at the syntax of get-help new-spsite –full, you will discover some parameters accept pipe bind:

New-SPSite -Url <String> -OwnerAlias <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm <SwitchParameter>]] [-ContentDatabase <SPContentDatabasePipeBind>] [-Description <String>] [-HostHeaderWebApplication <SPWebApplicationPipeBind>] [-Language <UInt32>] [-Name <String>] [-OwnerEmail <String>] [-QuotaTemplate <SPQuotaTemplatePipeBind>] [-SecondaryEmail <String>] [-SecondaryOwnerAlias <String>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-Template <SPWebTemplatePipeBind>] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]

In this example, there are several parameters that accept pipe binds. Here is an example of passing a variable to the template parameter which accepts a pipe bind.

$tem = get-spwebtemplate –identity STS#0

New-spsite –url http://contosoweb –owneralias Domain\administrator –name contososite –template $tem

Properties and Methods

Variables have properties and method’s available based on the type of the variable. For example, declaring a variable and assigning it a web application will contain all properties and functions for type SPWebApplication. To view all of the available properties and methods, you can pipeline the get-member cmdlet.

For Example:

$web = get-spwebapplication

$web | get-member

clip_image002

clip_image004

Note: This is not a complete list of all method’s and properties available for this type.

It’s possible to add conditions to get more desirable results. For Example, you can use the where alias if you just want to see a specific member type. To view only members of type Method punch in the following:

$web | get-member | where {$_.MemberType –eq “Method”}

Note: It is possible to do more than one pipeline J

Viewing Properties

Before updating and viewing specific properties of an object, it’s important to know how to first view all properties and there corresponding values. By default, only a few properties are exposed by simply printing a variable.

For Example:

clip_image006

Use get-object cmdlet to view all properties of a given object. An alias for the get-object cmdlet is available called select which is what I prefer to use.

For Example:

clip_image008

Note: Another option to view all properties of a given object is available.

For Example: $web | fl

If you happen to know which property to specify, simply append the property name with the variable.

For Example:

clip_image010

In this example, two content databases are outputted because the Web Application has two content databases attached. What if you only need to make changes to one of them? Where-object command-let is available which assists in filtering down results. An alias exists for the where-object command-let called where which is what I prefer to use.

$web.contentdatabases | where {$_.name –eq “WSS_Content”}

The example above demonstrates how to view and filter properties against a single object\variable. What if you know which property to use and simply want to filter directly from the command-let. Some command-lets offer parameters which allow filtering on the fly.

For Example, the –filter parameter is available running Get-SpSite command-let.

Get-spsite –filter {$_.owner –eq “Sitename\administrator”}

This example outputs every site collection where the owner is set as contosoweb\administrator. This is a much faster query when dealing with a large # of sites.

Note: You can also use the –like wild card instead of –eq.

For Example: Get-spsite –filter {$_.owner –like “Domain\ad*”}

Setting Properties

Besides viewing properties, it’s possible to update properties as well.

For Example, setting a property called name and updating it using update method:

$web.name

Output: SharePoint – 80

$web.name = “My Renamed Site!”

$web.update()

$web.name

Output: My Renamed Site!

Running Methods

Besides using the update method above to set a property, you have a variety of methods available for a specific object type. For Example:

clip_image012

Scripting with PowerShell

PowerShell scripts provide an automated approach to group one or more command-lets in order to accomplish one or more tasks. For Example, PowerShell scripts can provision new Web Applications\Site Collections, service applications, or backup\restore farm. Again, the possibilities are endless depending on what an Administrator wants to do. A powershell script is as easy as dropping your command-lets in notepad and saving the file with a .ps1 extension. Variables are often used in PowerShell scripts because they save time in writing scripts as well as provide a cleaner look to the script. The following example is a simple script to provision a new site collection:

$tem = get-spwebtemplate –identity STS#0

$russmax = get-spuser –identity contoso\administrator -web http://siteName

$DB = get-contentdatabase

new-spsite -url http://SiteName/sites/dancan -template $tem -Name Sitename -Description DQ -owneralias $russmax -contentdatabase $db

After saving this script as newsite.ps1, launch powershell and run the following from the directory where the script resides:

.\newsite.ps1

Also, custom command-lets and functions can be created and used within PowerShell scripts to achieve a more desirable result. Advanced PowerShell scripts for SharePoint 2010 will be available on codeplex soon.

http://www.codeplex.com/SharePointPSScripts/

PowerShell Intro for SharePoint Administrators - Part 1

PowerShell Intro for SharePoint Administrators - Part 1

PowerShell has been nicely integrated into SharePoint 2010 and is the eventual replacement of stsadm. Stsadm still exists with SharePoint 2010 for backward compatibility reasons but PowerShell is here to stay and will be the most widely adopted and used out of the two. PowerShell is included as a prerequisite which is automatically downloaded and installed during the prerequisite install of SharePoint 2010. Part 1 of this nugget will focus on basics of PowerShell including features and where to start. Part 2 will contain some more advance topics such as scripting and manipulating objects by setting properties or running methods against them.

Basics

Windows PowerShell™ is a task-based command-line shell and scripting language designed especially for system administration. Built on the .NET Framework, Windows PowerShell™ helps IT professionals and power users control and automate the administration of the Windows operating system and applications that run on Windows.

Built-in Windows PowerShell commands, called cmdlets, let you manage the computers in your enterprise from the command line. Windows PowerShell™ providers let you access data stores, such as the registry and certificate store, as easily as you access the file system. In addition, Windows PowerShell™ has a rich expression parser and a fully developed scripting language.

Windows PowerShell™ includes the following features:

  • Cmdlets for performing common system administration tasks, such as managing the registry, services, processes, and event logs, and using Windows Management Instrumentation.
  • A task-based scripting language and support for existing scripts and command-line tools.
  • Consistent design. Because cmdlets and system data stores use common syntax and naming conventions, data can be shared easily and the output from one cmdlet can be used as the input to another cmdlet without reformatting or manipulation.
  • Simplified, command-based navigation of the operating system, which lets users navigate the registry and other data stores by using the same techniques that they use to navigate the file system.
  • Powerful object manipulation capabilities. Objects can be directly manipulated or sent to other tools or databases.
  • Extensible interface. Independent software vendors and enterprise developers can build custom tools and utilities to administer their software.

Note: The basics section was taken directly from technet because I couldn’t have written this any better. See the resources section at the bottom of this blog for direct access to the site.

PowerShell Features

TAB – Expansion

It’s possible if you do not know an entire cmdlet to tab through what you have typed in order to find a match. Cmdlets always start with a verb-cmdlet name combination. Tab expansion is great for quickly tabbing through all matching cmdlets. For Example, the entire first part of the name (the verb) and the hyphen that follows it must be inputted. For example, if you type get-co and then press the Tab key, Windows PowerShell will automatically expand this to the Get-Command cmdlet. If you press Tab key again, Windows PowerShell replaces this with the only other matching cmdlet name, Get-Content.

Pipelining

Pipelining is the process where the output of one command is piped to a second command using the Pipline operator |.

For Example:

get-spwebapplication –identity http://sitename/ | new-spcontentdatabase –name SiteNAmedb

In this example, the output of get-webapplication is piped over to new-spcontentdatabase cmdlet. The new-spcontentdatabase cmdlet has –webapplication parameter and it’s required. You don’t need to specify this parameter because it’s piped over.

Format List

Format-List cmdlet formats the output of a command as a list of properties in which each property is displayed on a separate line. Typically, the alias of FL is used instead via piping.

For example: get-spwebapplication –identity http://sitename| FL

Aliases

An alias is another name you assign to a cmdlet, function, script, etc…. There are some built-in aliases within PowerShell. You can look at those by running the get-alias cmdlet. It’s possible to create aliases by using the Set-Alias cmdlet.

For Example, create an alias named DanCan which runs get-spwebapplication:

Set-Alias DanCan get-spwebapplication

Now running DanCan will produce the same result as get-spwebapplication.

Variables

PowerShell contains basic programming principles such as using Variables. Variables are simply an object that holds something. For Example, you can create variables to hold a specific content database. What you do with that variable is endless in terms of options available which will be discussed in the next nugget. For now, it’s important to understand how to declare variables.

To declare a variable named Var to hold content database named contosoDB type the following:

$var = get-spcontentdatabase –identity SiteNameDB

Type $var and it will output what’s stored in the variable.

Getting Help with get-help

PowerShell is accessible via the start menu:

clip_image002

Note: PowerShell is referred to as SharePoint 2010 Management Shell in SharePoint 2010

Scenario:

Great, it’s opened now what do I do! In this scenario, an administrator, Dan, must use PowerShell to create a new site collection using team site template and is unsure of which cmdlet or syntax to run.

The Get-Help cmdlet will output every alias, cmdlet, and function using a prefix of *. It’s great for finding out which cmdlet to run and get help on how exactly to run the cmdlet.

For Example: get-help *

Try it out and you’ll see it dump out lots of stuff like aliases and cmdlets. If you want to dump out just cmdlets you could type the following:

Get-help * | where {$_.category –eq “cmdlet”}

All SharePoint cmdlets start with SP so to output only SharePoint cmdlets you type the following:

Get-help *-SP* | where {$_.category –eq “cmdlet”}

This is great but I’d rather pipe it out to txt file. To pipe any output to a text file append > c:\filepath\filename.txt

Get-help *-SP* | where {$_.category –eq “cmdlet”} > c:\odst\output.txt

Note: Don’t worry about understanding the entire syntax, it will be more familiar after reviewing both PowerShell nuggets.

Verbs are appended to cmdlets which describe the action taken. For Example: creating, removing, or setting a new/modified value on an object. Since I’m looking to create I could be even more granular by typing the following:

Get-help new-SP* | where {$_.category –eq “cmdlet”}

clip_image004

After some mining, the administrator Dan needs to use the New-SPSite cmdlet. In order to properly run this command Dan needs to know the required parameters and the correct syntax. By default, running the following provides a brief summary and outputs syntax:

Get-help new-spsite

What it doesn’t tell you is which parameters are required and a brief description of each parameter. The following gives you that information:

Get-help new-spsite -full

A partial of the output:

SYNOPSIS
Creates a new site collection at the specified URL.

SYNTAX
New-SPSite -Url <String> -OwnerAlias <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm <SwitchParameter>]] [-ContentDatabase <SPCon tentDatabasePipeBind>] [-Description <String>] [-HostHeaderWebApplication <SPWebApplicationPipeBind>] [-Language <UInt32>] [-Name <String>] [-OwnerEmail <String>] [-QuotaTemplate <SPQuotaTemplatePipeBind>] [-SecondaryEmail <String>] [-SecondaryOwnerAlias <String>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-Template <SPWebTemplatePipeBind>] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]
DETAILED DESCRIPTION

The New-SPSite cmdlet creates a new site collection with the URL and owner specified by the Url and OwnerAlias parameters.

PARAMETERS
-Url <String>
Specifies the URL that the new site collection uses. If this is not a host header site, the URL must start with the containing the Web application URL
        Required?                    true
        Position?                    1
        Default value               
        Accept pipeline input?       True
        Accept wildcard characters?  false

The required parameters are URL and Owner. Dan also wants to specify a team site template so it will look like the following:

New-spsite –url http://SiteName/sites/snackattack -OwnerAlias contoso\farmadmin -template STS#0

Note – To get a full list of installed templates run the following: get-spwebtemplate

TIP: Get-Command cmdlet –syntax can also if an Administrator just needs to review the syntax.

Resources:

http://technet.microsoft.com/en-us/library/bb978526.aspx

http://technet.microsoft.com/en-us/library/dd347700.aspx

http://technet.microsoft.com/en-us/library/dd347728.aspx

http://technet.microsoft.com/en-us/library/dd347730.aspx

WSS and MOSS December 2009 CU

Wednesday, December 16, 2009

Windows SharePoint Services V3 and Microsoft Office SharePoint Server 2007 are now be able to get updated to the latest available bits with December CU.

We are happy because CU is on-time and with an outlook into the next year with all the new opportunities we wish you a nice Christmas time and a happy new year.

KB articles:

WSS:

977027  The full server package for WSS
http://support.microsoft.com/default.aspx?scid=kb;EN-US;977027

MOSS:

977026 The full server package for MOSS
http://support.microsoft.com/default.aspx?scid=kb;EN-US;977026

Download and installation information:

After applying the preceding updates, run the SharePoint Products and Technologies Configuration Wizard or “psconfig –cmd upgrade –inplace b2b -wait” in command line. This needs to be done on every server in the farm with SharePoint installed.

SharePoint 2010 Upgrade Part 1: Fundamentals

Friday, December 11, 2009

Let's start with some quick reference information:

Supported Scenarios

  • In-Place
  • Database Attach – Probably the most common to be used
  • Single Click Install (Basic install w/ WID to SQL Express 2008)

Unsupported Scenarios

  • Upgrade from earlier than WSS v2 SP2 / MOSS 2007 SP2
  • Direct upgrade from WSS v2 / SPS 2003 or earlier
  • Side by side installation
  • Gradual upgrade (although AAM redirection is still possible, see next session)

There are several preparation tools that come bundled with 2007 SP2 (enhanced in October 2009 CU) to get you ready to upgrade:

  • stsadm –o preupgradecheck (-localonly if you want to run against individual servers)
  • stsadm –o EnumAllWebs (10/09 version includes features, event receivers, and web parts activated per web)
  • SPDiag V2 (in the Admin Toolkit)
  • stsadm –o ExportIPFSAdminObjects (for customizations like admin-approved InfoPath Form templates)

The preupgrade check looks for many things and reports on them.  This is done without editing the databases, and the operation is not required before upgrade – both of which are changes from the 2003 > 2007 prescan operation.

  • Informational
    • Farm servers and databases
    • AAM Configuration
    • Lists, Site Definitions (with instance counts), Features, Web Parts, Event Receivers to match up GUIDs and find missing elements
    • FBA configuration (FBA will have to be reconfigured in 2010, think web.configs…)
    • Installed Language Packs
    • CAML views/CAML content types
  • Issues
    • Missing Site Definitions, Features, Assemblies
    • Data orphans
    • Modified content databases

There are also some new tools available in 2010 to help from the new server:

Test-SPContentDatabase

  • Complements the pre-upgrade check
  • Compares against a specific web application to look for missing dependencies
  • Scans both 12 and 14 databases

Upgrade-SPContentDatabase

  • Will resume an upgrade process (B2B or V2V) already in progress
  • This DOES NOT attach a database (contrary to the Beta review document distributed in hard-copy at the conference)
    • Attaching is done by stsadm –o addcontentdb, or
    • Mount-SPContentDatabase (NOTE: Until RTM, this one will force the UI upgrade to 14)
  • Upgrade-SPEnterpriseSearchServiceApplication

The new Visual Upgrade Capability by default upgrades using the old Office 12 UI.  It does this by including all of the old master pages and CSS sheets in the new version.  Admins / Owners are then able to do a temporary preview of the new UI, and / or do a final UI upgrade to the new look and feel.

  • Farm admin or site collection admin controlled
    • Web level setting
  • Preview mode is not meant for extensive changes
  • Web parts can now be UI version aware to make them automatically render differently per instance
  • Some items are not O12 compatible
    • MySite host
    • Project Web Access site collection
    • Report Server web parts

Patch Management has been overhauled, basically because it stunk in many ways in 2007.  2010 now has:

  • A new UI
  • A new PowerShell cmdlet
  • New Health Rules
  • Backwards compatibility mode
    • Binaries can be ahead of the database(s)
    • Defer upgrade for short period of time
    • Not intended for long delay (maybe weeks or days)

There are multiple downtime mitigation techniques that can be used to minimize the effect of the upgrade process on end users.  Some of these are valid for both 2007 and 2010, and others are only in 2010:

Both

  • Read-only databases (kind of, the UI just trims all of the edit functionality)
  • Parallel upgrade farms
  • Gradual Upgrade

2010 only

  • Single server, multiple db upgrade sessions (works consistently well up to 2 sessions on the same disk spindle, for more you will need to test)
  • Content database with AAM redirection

Upgrade logging has also been improved to help us trouble-shoot potential errors and warnings.

  • One upgrade log per session
  • Errors only log
  • Predictable structure for log
  • Improved status page
  • New history page
  • Command line progress indication

Shared Service Providers each get upgraded into separate service applications, and new databases are created as needed.

Configure User Profile Synchronization Service

Thursday, December 10, 2009

There are further here on the SharePoint blog as there are issues with following least priviledge install e.g. having separate Active Directory Domain User Accounts for each role in farm. To get as far as I did I used 4 service accounts for everything (This is a Test). Full credit goes to @ShareTheDon for his help getting through this!

There are some IE8 bugs in the current UI…so push F12

Click "Browser Mode: IE8 Compat View" and select "Internet Explorer 7".

Click "start" on "User Profile Synchronization Service"

Click "OK"


Click on "monitoring" on left hand side and then click on "Review Job Definitions"

Click on "Running Jobs" on left hand side

You should now see ProfileSynchronizationSetupJob running

Keep refreshing until it disappears and then you'll notice it'll disappear. Click on "Job History" on left hand side, you should see the job with status of Successful.

In Windows Services you should now see Forefront Services both started and running under your administrator account.

Click on "Application Management" then click on "Manage service applications"

Scroll down and click on "User Profile Service Application"

Click on "Configure Synchronization Connections"

NOTE: you may see the below error, if you do simply do an IISRESET

Click Create New Connection

Fill in details

Click "Populate Containers" button then expand tree and select "SharePointUsers" OU tree node and then click "OK".
NOTE: Clicking "Select All" does not work in this build!

You should now see a connection in this list.
NOTE: if you get to next screen and nothing shows, please ensure both Forefront Windows Services are started.

Go back to "User Profile Service Application" page from "Manage Service Applications"

Click "Start Profile Synchronization"

Select "Start Full Synchronization" then click "OK".

NOTE: this will take a few minutes as a job is scheduled to do this.

Now if you click "Manage User Profiles" you'll see the User Profiles coming through

In Beta 2 it is normal to see these warning errors in the Event Log.

Also note that you cannot edit the connections because of a JavaScript error.

For more information on the User Profile imports go to:
C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\ and run MSIISClient.exe



If you get this error:
"Cannot navigate to the requested page while User Profile Synchronization is running. Please wait for the current Sychronization run to finish."
You will need to restart the machine (you can most likely just restart the services too)

10 Tips Troubleshooting Installations for SharePoint 2010 and SharePoint Foundation

Tuesday, December 8, 2009

1. Software and Hardware requirements for SharePoint 2010. http://technet.microsoft.com/en-us/library/cc262485(office.14).aspx#section3  - Both Server and Foundation will fail to install if you don't meet minimum requirements.  I've noticed with RAM it often silently fails.

 
 

2. When trying to grab hofixes and updates off the web I found IE Hardening to be a burden.  Here's how to turn it off temporarily.  Don't forget to turn it back on for security.

Temporarily turn off the IE hardening also known as the Internet Explorer Enhanced Security.  Note this is different in Windows Server 2008 from 2003.  It's no longer in components, it's on the server summary page on the root of Service manager in the security information section.

"Unlike with previous versions of Windows Server--in which you could disable Internet Explorer Enhanced Security Configuration by removing the component in Add/Remove Programs, Windows Components--the Windows Server 2008 implementation of Internet Explorer Enhanced Security Configuration is configured through Server Manager.

Select the root of the Service Manager navigation pane, and under the Server Summary click Configure IE ESC, which is part of the Security Information section. A dialog box appears, letting Internet Explorer Enhanced Security Configuration be enabled/disable separately for normal users and administrators."

 
 

2. Ensure that the correct WCF updates are installed:

The SharePoint installer does not block install for an essential update for the Windows Communications Framework that SharePoint 2010 requires. Install the appropriate versions of the update from the locations below:

Win2k8 SP2: http://go.microsoft.com/fwlink/?LinkID=160770

Win2k8 R2: http://go.microsoft.com/fwlink/?LinkID=166231 (available Nov 22, 2009)

 
 

3. Error installing SQL after installing the prerequisites:

Kept running into an error where it kept choking on not being able to read a sqlcli[1].ini or sqlcli.ini.  The issue was ultimately that I installed some SQL client tools prerequisite before installing SQL. 

"During Setup, you may experience a failure and a subsequent rollback, with the following error message: "An installation package for the product Microsoft SQL Native Client could not be found. Repeat the installation using a valid copy of the installation package 'sqlncli.msi'". Uninstall SQL Native Client by using Add or Remove Programs in order to circumvent this problem. In a cluster, uninstall SQL Native Client from all nodes. Then run SQL Server Setup again."

Summary: It came from installing SQL Server 2008 Native Client before installing SQL Server 2008 SP1, uninstalling Native client tools fixed it and install succeeded.

 
 

4. Don't MISS the Prerequisite installer!!! It will save you loads of time!  Simply skipping and running setup will tell you to install the various packages.  If you're running with full SQL be sure to run the prerequisite installer after SQL is already installed if doing full on the same box.  Simply clicking setup.exe will skip the prerequisite installer.  You want to run the SharePoint%%.exe

5. Known issues: http://officebeta.microsoft.com/en-us/sharepointserverhelp/microsoft-office-servers-beta-2-known-issuesreadme-HA101267292.aspx#_Toc245608631

View the Known Issues/ReadMe

Make sure that your computer is connected to the Internet.

To display the Microsoft® SharePoint® Server 2010 Known Issues/ReadMe File, click here.

If Beta1 was installed on a machine, it needs to be repaved before installing Beta2. 

http://technet.microsoft.com/en-us/evalcenter/ee391660.aspx

6. Locating the Product Keys
Installation of the SharePoint Server 2010 Beta 2 requires one of the following product keys:

SharePoint Server 2010 Beta (Enterprise CAL features): PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY
SharePoint Server 2010 for Internet Sites Beta, Enterprise: BV7VC-RMR6B-26P6Y-BTQDG-DX2KQ

7. If you're installing the Standalone you won't hit this, but if it's stand-alone the prerequisites will pass, but fail when creating the config db:  (Note you need a fix that's in this CU, but you have to request it.  In order to get around this, you can install the SQL 2008 R2 Nov CTP. *

SQL 2005 SP3 CU3
http://support.microsoft.com/kb/967909
SQL 2008 SP1 CU2
SQL needs to be 10.00.2714.00 from
http://support.microsoft.com/kb/970315

 
 

* SQL 2008 R2 NOV CTP from Microsoft.com

8. If you are using SharePoint on DC, the following Windows PowerShell command would need to be run to enable Sandboxed Solutions.
$acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName
$person = [System.Security.Principal.NTAccount]"Users"
$access = [System.Security.AccessControl.RegistryRights]::FullControl
$inheritance = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [System.Security.AccessControl.PropagationFlags]::None
$type = [System.Security.AccessControl.AccessControlType]::Allow
$rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type)
$acl.AddAccessRule($rule)
Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl

9. If you have problems with ASP.NET 3.5.1 Update

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=23806&wa=wsignin1.0

10. Don't forget to turn on Dev Dashboard

stsadm -o setproperty -pn developer-dashboard -pv OnDemand

Beta Language Packs for SharePoint Foundation 2010 Beta and SharePoint Server 2010 Beta are now available for download

Thursday, December 3, 2009

Several beta language packs for SharePoint Foundation 2010 Beta and SharePoint Server 2010 Beta are now available through the Download Center.  Installing one or more language pack will allow you to evaluate the new Multi User Interface (MUI) features of SharePoint 2010.

The following language packs are available:

  • German
  • English
  • Spanish
  • French
  • Japanese
  • Russian
  • Chinese (simplified)

SharePoint Foundation 2010 Language Packs

http://www.microsoft.com/downloads/details.aspx?FamilyID=0956787e-210d-4d78-9e4e-a9cdef0e8495&displayLang=en

SharePoint Server 2010 Language Packs

http://www.microsoft.com/downloads/details.aspx?FamilyId=a0c7c05d-8fca-4391-bc70-b62c9af91123&displaylang=en

Please follow the instructions on the download page to install language packs. For further reading, please refer to TechNet articles: Deploy language packs (SharePoint Foundation 2010) and Deploy language packs (SharePoint Server 2010).

Automated SharePoint 2010 Install with PowerShell

Wednesday, December 2, 2009

<Update: Product Keys>

SharePoint Server 2010 Beta (Enterprise Client Access License features) product keys:
PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY
BV7VC-RMR6B-26P6Y-BTQDG-DX2KQ


Here’s the breakdown:
1.  Create an XML file that looks like this.  This will do a Full Farm Install (quietly).  For other config files, check out  E:\Files\SetupFarmSilent\config.xml  (E: is the drive with SharePoint on it)
sharepointInstall_config.xml
----------------------------------------------
<Configuration>
    <Package Id="sts">
        <Setting Id="LAUNCHEDFROMSETUPSTS" Value="Yes"/>
    </Package>

    <Package Id="spswfe">
        <Setting Id="SETUPCALLED" Value="1"/>
        <Setting Id="OFFICESERVERPREMIUM" Value="1" />
    </Package>

    <Logging Type="verbose" Path="%temp%" Template="SharePoint Server Setup(*).log"/>
    <PIDKEY Value="PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY" />
    <Setting Id="SERVERROLE" Value="APPLICATION"/>
    <Setting Id="USINGUIINSTALLMODE" Value="1"/>
    <Setting Id="SETUP_REBOOT" Value="Never" />
    <Setting Id="SETUPTYPE" Value="CLEAN_INSTALL"/>
        <INSTALLLOCATION Value="c:\Program Files\Microsoft SharePoint" />
        <Display Level="Basic" CompletionNotice="Yes" AcceptEULA="Yes" />
</Configuration>


2.  Next create a PowerShell script, that looks like this  (save it to the same folder as the XML file above):

Install-SharePoint.ps1
----------------------------------------------------
$config = "sharepointInstall_config.xml"
$bits = "e:\"
cls
Write-Progress -Activity "Installing SharePoint Quietly" -Status "Copying config file locally"
Copy-Item $config -Destination $bits
Write-Progress -Activity "Installing SharePoint Quietly" -Status "Installing SharePoint"
cmd.exe /C "$bits\setup.exe /config $config"
3.  Now run your script from PowerShell, with the the working directory set to the location of your script files:
PS C:>  cd sharepointScript
PS C:\sharepointScript> .\Install-SharePoint.ps1
4.  Wait a few minutes and the install will complete quietly.
5.  Proceed to provisioning the farm with PowerShell, here.


Note:
  Don’t forget to set your execution policy in PowerShell to allow the script to run.  Easiest (but least secure):  Set-ExecutionPolicy Unrestricted

SharePoint 2010 Provisioning A New Farm with PowerShell

This post will take you down the process of configuring your SharePoint farm while introducing the new administrative functionality shipping in the PowerShell provider.
During the SharePoint Installation, make sure you choose “Server Farm” and then “Complete” install.  This will allow you to create a SharePoint farm rather than a standalone server.
After the install completes, the setup program will ask you if you want to run the SharePoint Technologies Configuration Wizard (default is checked).  Uncheck the box to NOT run the wizard.
Under the Start Menu, browse to Microsoft SharePoint 2010 Products.  Right-click on SharePoint 2010 Management Shell and choose Run as administrator 
 image

Notice:
Since we have not created a farm yet, the shell will load with an error that the local farm is not accessible.  This is expected.
Next, run the following command to create a new configuration database and central admin content database.  The main reason we are using this method, versus the GUI is because we can specify the central admin content database name.  (In the GUI, you cannot specify the name and it is created with a GUID)  <—DBA’s hate this

New-SPConfigurationDatabase –DatabaseName “SharePoint2010_Config” –DatabaseServer “<db server>” –AdministrationContentDatabaseName “SharePoint2010_Admin_Content” –Passphrase (ConvertTo-SecureString “pass@word1” –AsPlaintext –Force) –FarmCredentials (Get-Credential)

Notice: rather than hard coding the credential for the farm account, I am having PowerShell prompt me for it.  You can also do this with the passphrase by accessing the “Password” property of the of the credential object:  (Get-Credential).Password 

image
After the process runs, you can test that the server has not been added to a farm, by reloading the PowerShell window.  Close and repeat the “Run as administrator” step above.  It should load with no warning message.
5_ReloadShowsFarmConnected
Next, we need to provision the central admin web application on our desired port.  This will also link up the web application with the admin content database we created in the previous step.

New-SPCentralAdministration -Port 1234 -WindowsAuthProvider "NTLM"

Next, we want to install all of the help files within Central Admin

Install-SPApplicationContent

After that command completes, we need to secure the files and registry entries on the server otherwise we we will receive a whole bunch of weird security errors. 

Initialize-SPResourceSecurity

Next, we need to install the features on the server. 

Install-SPFeature –AllExistingFeatures

21_InstallFeatures
Lastly, we need to install and and then provision the services onto the farm.

Install-SPService
Install-SPService  -Provision  (for standalone servers only)

One of the last steps that I perform here is to Disable the Loopback Check on stand alone demo servers.  This setting usually kicks out a 401 error when you try to navigate to sites that resolve to a loopback address e.g.  127.0.0.1
To disable the loopback check, run this command from PowerShell:

New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck"  -value "1" -PropertyType dword

DONE!  Now, you can open up Internet Explorer to the central admin site/port you specified and you’re on your way!
Or, since you’re now a PowerShell pro, run this command : 

“start iexplore http://server:1234”