List Fields not showing in Add, Edit and display forms after migration

Background:

We have completed a tool based SharePoint migration for a client which was from SharePoint 2010 to SharePoint online, during the migration we got some hurdles which is because of custom features, custom list columns, deprecated list & site templates and invalid data but at the we were good to migrate all the content to SharePoint Online which also involved some manual effort.

Issue:

Users started using SharePoint online portal and also have reported some issues which we resolved. We have been reported an issue by end users for task list where having 15 custom columns and are shown in all default forms (Add/Edit/View) in SharePoint 2010. All data is migrated to the list and users can view them through list views but when they click any of them to View details or Edit they can’t see all the columns as they can see in SharePoint 2010 environment. They reported that they can’t see all fields in any of the three forms (Add/Edit/View).

Solution:

At first this looks to be the content type issue which is not set default but there was not content type included, only default task content type was used. I can see all the custom fields the task list through list settings. Then I have tried adding columns to forms using SharePoint designer but no success and I do not want to create custom views.

Then I come to the list settings again, enabled Content type on the list and I can see that custom fields are not bind with or Used in the Task content type, and this was the point why custom fields are not showing up in all three forms.

Whenever you create a new custom field to a list, it also get added to the default content type, but now we already have the custom fields which are not part of the  default content type (i.e. Task content type).

The steps to add them to the default content type are quite easy, click on the default content type and it will take you the content type detail page or content type setting  page (for current list only), below the fields there is a link with text “Add from existing site or list columns”. This link will lead you to the add columns page of list content type, Select columns from List Columns and you can see listing of all custom columns. Add them to the content type and now you can see them in all three forms.

I set the ordering of fields similar to SharePoint 2010 list and now things are working fine. J

List Fields not showing default forms

List Fields not showing default forms

In below image, you can see list of columns but these are not part of default content type.

List Columns

List Columns

Add columns to task list content type through below link, and this will start showing columns in all forms. Click on the “Add from existing site or list settings”

Add columns to default content type

Add columns to default content type

SharePoint Error: Access Denied

The problem starts when Microsoft SharePoint Online site enables full access permissions to some users, but when they have tried to access the site settings, following error message occurred.

Error: ‘Access Denied.’

Access Denied
In order to resolve this issue when the users browse to the Access Requests list and select Approve or Decline for a pending request, then again a new error message occurred:
‘Sending approval’
‘Request approval failed’

Causes
In order to describe the problem, first you need to figure out the symptoms. Following are the scenario you can consider that leads the above explained share point error:

If you are using the following version of Microsoft SharePoint

  • Microsoft SharePoint Server 2010
  • Microsoft SharePoint Foundation 2010
  • Microsoft Office SharePoint Server 2007

You have re-created a user account in Active Directory Domain Services after delete and then again add the newly created user account to the SharePoint server.

Description:
Basically error: ‘Access Denied’ occurs, when you add an existing user’s information inthe SharePoint and it updates the existing entry in the UserInfo table instead of creating a new entry. Where the user security identifier (SID) in the old entry has already updated and is no longer correct for that particular user.

Solution:

  1. In order to resolve this issue, you can use an inbuilt tool named as ‘MigrateUser’ tool that is used to add the new user account to SharePoint. Follow the below mentioned steps to complete this process:
  2. Go to the server that is running SharePoint, Select Start -> All Programs, and then Accessories.
  3. Now, right-click Command Prompt, select Run as Administrator from the available options. Now, click ‘Yes’.
  4. Type the below mentioned command in the command prompt, and press ENTER:
    ‘stsadm.exe -o migrateuser -oldlogin Domain name\Old user name -newlogin Domain name\New user name –ignoresidhistory’

Note:This command can be used only on user accounts that are in the same domain elseit might create permission issues. MigrateUser command will automatically update the account name and also maintains the appropriate permissions for the targeted account.

Some other solutions:

  • Possibly some of the services on your server are shut down, which are causingissues with the Search index distribution. Check out all the server permissions and enable the required one if needed.
  • If someone has changed the permissions on the site assets library then also such kind of errors occurs. To resolve this you can check the permissions on Document library, “Site Pages” library or something similar on the same site that might create such type of trouble. As at times,due to broken inheritance on the Doc Library become the root cause of the error.

In case while trying the above explained processes your SharePoint data got corrupt and become inaccessible then instead of trying manual methods, it is better to go with professional software as these tools are dedicatedly designed to repair SharePoint data without any risk of data loss. Stellar Phoenix SharePoint Recovery is a reliable example of professional SharePoint Server Recovery software that repairs you corrupt and damaged SharePoint databases or SQL Server files and restores all the important information from SharePoint Server.

Office 365 Session Timeout Configuration

Office 365 session timeout configuration helps you control the behavior of a session when a user is accessing services. When a user is authenticated to Office 365 app, a session is established. During the session, user don’t have to re-authenticate to the app. Session can only expire when you’re either inactive, closed the browser/tab, token expires or a password has been reset. Office 365 support different timeout settings for each web app as shown below.

Office 365 Session Timeout Configuration 2

These are the default timeout settings of office 365 taken from Office 365 support website.

Office 365 Session Timeout Configuration

Below are the steps to modify the office 365 OWA session timeout configuration.

  • Connect with exchange online using Global Admin credentials. You can use PowerShell function to connect with Exchange online found at TechNet Gallery.
  • Once you’re connected with Exchange online powershell, run Get-OrganizationConfig > OrgConfig.txt to backup your existing OrganizationConfigurations in a TXT file.

2

  • Once you’ve the backup of your existing configuration, Run Set-OrganizationConfig -ActivityBasedAuthenticationTimeoutInterval 00:45:00

Office 365 Session Timeout Configuration

We’ve now successfully configured the session timeout settings to 45 minutes. For more information on Set-OrganizationConfig cmdlet can be found on MSDN.

Creating a Display Form / Data View Web Part in SharePoint Online

I had a requirement to display a custom view for a list interface instead of the default list view in SharePoint online, I know couple of jQuery and css scripts which made life quite easier in these scenarios but still I have seen people asking how they can edit page using SharePoint Designer and how can they work on XSLT web part.

In this post, I am using a publishing site where I will not only show how to detach and reattach a page from page layout and how to edit them and will show an example to how we can create a customize interface using a XSLT web part (also called Display form or Data View web parts). These web parts are bit different from Content Query Web Part (CQWP) but both use XSLTand this can be a good example to understand a little XSLT.

XSLT web part custom view - cssWe will be achieving above UI at the end of this post, so now follow below steps to achieve this.

Open a SharePoint site in SharePoint Designer and go to pages library under All files –> Pages.

Now select the page on which you want to drop the List View web part. Write click on it and click the Detach from Page Layout. You need to detach the page to open it in designer. Check below image for reference.

detach file

It will also show you a warning messaging that you are detaching the page from page layout, say yes to it.

Detach from pagelaout

If file is not checked out then you will also get a message to check out the file. Once you are done with detaching the page, click on the page to edit it, It will take you the manage settings page where you have to click on the edit file link to do the customization.

Edit Detach page

I have created page using blank web part page layout, you can choose any of the page layout at the time of creation as per your requirement.

Now when you clicked edit page in above file, you can see a markup page is showing up with content disabled and you can also view the markup of web part zones tag.

<WebPartPages:WebPartZone runat="server" Title="<%$Resources:cms,WebPartZoneTitle_TopLeft%>" ID="TopLeftRow">
        <ZoneTemplate></ZoneTemplate>
     </WebPartPages:WebPartZone>

Default page markup

Here Id and title can be different, in SharePoint Designer 2013 you cannot view the design view of the markup, all you have to do is with the markup only. Now place your cursor in between the <ZoneTemplate></ZoneTemplate>.

Now click on the insert tab on the ribbon and click on the Display Item Form button which will show you the listing of lists and libraries for the current site. This can take some time to load the listing in drop down, for me sometime it has taken 10 minutes and sometime it have shown me the listing without any wait. It will show you the option to add Custom List form so just wait for the system to respond on it J.

This will add the XSLT template for the list view which you can modify as per your requirement. I have to display multiple items listing in the web part in as customized way like a grid view control means with custom display.

Now click on the generated template from ribbon you can see the Data View Tools are available which you can use to modify to add more columns, multiple rows, filtering and sorting data etc. You can view the below picture for reference.

XSLT - Dataform web part

Now I will add my required columns and will remove all extra columns to have the required fields only and for this click on Add/Remove column button. I am sharing screen shots of all these steps which can be helpful for you that how I am making changes.

XSLT - Add columns

Click OK to add those fields on the page. Now I am adding paging up-to 30 items so that I can have more then one item and paging is enabled if count goes over 30, below is image for reference.

XSLT - Add paging

Now I have to filter the items on a specific criteria. For this I will add a parameter and then will add the filter.

Click on Parameters button which will popup a new window where you can create up-to five types of parameter, most common are Query string and Form as shown below.

xslt - add parameter

I have created the Form based parameter with name paramDepartment and Form field named “Department” with default value of “Sales Engineers”. Department is the name of a custom filed in the list.

XSLT -Add parameter vlaue

We have created the custom parameter with a default value, now create a filter for filtering data on a specific criteria, I have created the parameter to pass value by filter instead of inline value.

Click on the filter button from ribbon which will open a dialog, select field under Field name column and select comparison type equal, Not equal, contains or begins with. In value column, you can directly enter a value or can select a parameter, so here select the paramDepartment parameter.

xslt  - Add filter

You can also apply more filters through the filter dialog.

We have completed the information fetching criteria by applying filters, selected custom columns and selected multiple records, now we have to create a custom template or can also modify the existing template which will make it easier to show a custom view.

Save the changes, and view this page in browser to verify that data is showing properly based on the given filters.

XSLT Default view

You can see the default view is quite, it showing the multiple items but the view is not interactive, now here comes why I was going to write this complete post, we need to modify this view. For this you have to explore the xslt now, search for the “dvt_1.body” template name which is the default name template which displays data.

Below are the two areas in xslt where we are going to make changes, let’s have a look on the xslt content which is showing and iterating the items.

<xsl:choose>
      <xsl:when test="$dvt_IsEmpty">
        <xsl:call-template name="dvt_1.empty"/>
      </xsl:when>
      <xsl:otherwise>
        <table border="0" width="100%">
          <xsl:call-template name="dvt_1.body">
            <xsl:with-param name="Rows" select="$Rows"/>
            <xsl:with-param name="FirstRow" select="1" />
            <xsl:with-param name="LastRow" select="$LastRow - $FirstRow + 1" />
          </xsl:call-template>
        </table>
      </xsl:otherwise>
    </xsl:choose>

This show the basic structure which we will change a little for the customized view. Above xslt template is iterating items to default view. We need to modify it a little as below:

<xsl:choose>
      <xsl:when test="$dvt_IsEmpty">
        <xsl:call-template name="dvt_1.empty"/>
      </xsl:when>
      <xsl:otherwise>
        <table border="0" width="100%">
          <tr>
            <td>
            <table border="0" cellspacing="0" width="100%" class="zContacts">
              <tr>
              <th ></th>
              <th>Full Name</th>
              <th>Email</th>
              <th>Office</th>
              <th>Region</th>
              <th>Specialty</th>
            </tr>
              <xsl:call-template name="dvt_1.body">
              <xsl:with-param name="Rows" select="$Rows"/>
              <xsl:with-param name="FirstRow" select="1" />
              <xsl:with-param name="LastRow" select="$LastRow - $FirstRow + 1" />
            </xsl:call-template>
            </table>
          </td>
          </tr>        
        </table>
      </xsl:otherwise>
    </xsl:choose>

We just added a new table with custom css and table headers which you can see in bold text above, now we to go to the other part of xslt which is listing the items. Scroll down to dvt_1.rowview template, here you can see the html markups with some xlst fields which are showing items in the default content.
<xsl:template name="dvt_1.rowview">
    <tr>
      <td>
        <table border="0" cellspacing="0" width="100%">
          <tr>
            <td width="25%" class="ms-vb">
              <b>Full Name:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Title"/>
            </td>
          </tr><tr>
            <td width="25%" class="ms-vb">
              <b>Image:</b>
            </td>
            <td width="75%" class="ms-vb">
              <img border="0" src="{@Image}" alt="{@Image.desc}" /></td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Email:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Email" />
            </td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Office:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Office" />
            </td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Region:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Region" />
            </td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Speciality:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Speciality" />
            </td></tr>
          <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
            <tr>
              <td colspan="99" class="ms-vb">
                <span ddwrt:amkeyfield="ID" ddwrt:amkeyvalue="ddwrt:EscapeDelims(string(@ID))" ddwrt:ammode="view"></span>
              </td>
            </tr>
          </xsl:if>
        </table>
      </td>
    </tr>
  </xsl:template>

You can see this is quite much markup for small task, so we totally change this content to achieve our required output, modify this content.
<xsl:template name="dvt_1.rowview">
    <tr>
      <td > <img border="0" src="{@Image}" alt="{@Image.desc}" /></td> 
      <td> <xsl:value-of select="@Title"/> </td>
      <td > <xsl:value-of select="@Email" /> </td>
      <td > <xsl:value-of select="@Office" />  </td>
      <td > <xsl:value-of select="@Region" /> </td>
      <td > <xsl:value-of select="@Speciality" />  </td>
    </tr>
  </xsl:template>

Now here you can see the difference, this is just a little but smart modification in XSLT Data View web part. Save the page and open in browser to see the changes.

XSLT Custom view

I also remove the title appearance to none for this web part properties through browser. The view is changed and you can see it now showing up in a grid or listing view, now itjust need to apply a small css to do the branding. There are many good examples of css and javascript shared by different sites, I copied a simple css and just changed the color scheme for my view.

table.zContacts {
  font-family: verdana,arial,sans-serif;
  font-size:11px;
  color:#333333;
  border-width: 1px;
  border-color: #C1C8D5;
  border-collapse: collapse;
}
table.zContacts th {
  background:#7caeff;
  border-width: 1px;
  padding: 8px;
  border-style: solid;
  border-color: #C1C8D5;
}

/* provide some minimal visual accomodation for IE8 and below */
table.zContacts tr{
    background: #c9ddff;
  }
  /*  Define the background color for all the ODD background rows  */
table.zContacts tr:nth-child(odd){ 
    background: #c9ddff;
  }
  /*  Define the background color for all the EVEN background rows  */
table.zContacts tr:nth-child(even){
    background: #eff5ff;
  }
table.zContacts td {
  /*background:#dcddc0 url('cell-grey.jpg'); */
  border-width: 1px;
  padding: 8px;
  border-style: solid;
  border-color: #C1C8D5;
}

This css will show alternate rows for the custom view. You need to save it in your custom css file. I always create a custom css file in my sharepoint site where I can include the custom css content. Below is the output after adding Css.

XSLT web part custom view - css

After making all the changes, go to the pages library from SharePoint Designer (similar steps as I have mentioned at start of this article) and reattach it to pagelayout and then checkIn the file.

This is how we can add and customize DataView web part (or XSLT Web part) using SharePoint designer.

Step-by-Step Guide to Migrate from Exchange Server 2007 to Exchange Server 2013

Before planning your Exchange Server 2013 migration ensure you are familiar with all its features like virtualization, retention, modern public folders, managed availability, transport, unified messaging, EWS, Outlook Web App etc.

As Exchange is critical to the communication network, it is important to do a smooth Exchange migration which causes minimum or zero interruption to the organizational communication. In this blog, we will see how to migrate all users and services from Exchange 2007 to Exchange 2013 and finally decommission the old Exchange 2007.

The high-level steps that we will take to devise the migration are:

  1. Deploying Exchange 2013 as new environment

  2. Configuring Digital Certificates for the new Exchange

  3. Configuring Name Space and Virtual Directories

  4. Offline Address Book (OAB) configuration

  5. Mail Flow Configurations

  6. Moving Client Access to Exchange 2013

  7. Moving Mailboxes to Exchange 2013

  8. Moving Public Folders to Exchange 2013 and decommissioning old Exchange Server

1. Deploying Exchange 2013 as new environment

Active Directory Preparation

When we install Exchange Server it needs to store User mailboxes’ and Exchange Server’s configuration information in the organization. So it is important that Active Directory is duly prepared before you install Exchange 2013 in the organization. Following things need to be done before you deploy Exchange Server 2013 in the environment: a> Extend Active Directory Schema b> Prepare Active Directory and 3> Prepare Active Directory Domains. To ensure that AD preparation is done correctly, verify that the rangeUpper property on ms-Exch-Schema-Version-Pt is set to the correct value. After this force AD replication.

Exchange Server 2013 Installation

When you are ready for running Exchange Server setup ensure that server is fully updated with latest patches. To install Windows Features using PowerShell Run Windows PowerShell as Administrator and paste the following command:

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation

After the installation is complete restart your server. And after the reboot, download and install Microsoft Unified Communications Managed API 4.0. Core Runtime 64-bit, Microsoft Office 2010 Filter Packs 64 bit, Microsoft Office 2010 Filter Packs SP1 64 bit.

2. Configuring Digital Certificates

You should be using as few certificates and host names as possible for cost control since certificate providers charge a fee based on number of host names you add to your certificate. By default, Exchange comes with self-signed certificates, we will replace this certificates with the ones relevant to our case.

  • mail.contoso.com: FQDN for most connections to Exchange including Microsoft Outlook, Outlook Web App, Outlook Anywhere, the Offline Address Book, Exchange Web Services, POP3, IMAP4, SMTP, Exchange Control Panel, and ActiveSync.

  • autodiscover.contoso.com: FQDN used by clients that support Auto discover, including Microsoft Office Outlook 2007 and later versions, Exchange ActiveSync and Exchange Web Services clients.

  • legacy.contoso.com: FQDN used by all external and internal clients for old server i.e. Exchange Server 2007.

Next we will create certificate request, for this open EMS and run the New-ExchangeCertificate cmdlet command:

Once the certificate is created, get it signed by the appropriate certification authority (CA) and use the Import-ExchangeCertificate to import the certificate.

Then Exchange Server 2013 need to be configured to use the certificates using the Enable-ExchangeCertificate command.

Please note that Enable-ExchangeCertificate cmdlet cannot be used to enable a wildcard certificate for POP and IMAP services, also it cannot be used to enable a certificate for federation.

Use private key to export the certificate and import it on Exchange 2007 CAS servers using the same steps.

3. Configuring Name Space and Virtual Directories for Exchange Server

Follow the given steps to configure Exchange Server 2013 virtual directories using EMS:

Exchange Control Panel

To configure Exchange Control Panel (ECP) virtual directories properties, use Set-EcpVirtualDirectory cmdlet.

Outlook Web App

To configure Outlook Web App virtual directories use Set-OwaVirtualDirectory cmdlet.

Offline Address Book

To configure offline address book virtual directory use Set-OABVirtualDirectory cmdlet.

ActiveSync

Use Set-ActiveSyncVirtualDirectory cmdlet to configure the Microsoft Exchange ActiveSync settings on specified virtual directory.

Web Services

To modify Exchange Web Services virtual directory use Set-WebServicesVirtualDirectory cmdlet on the server running Exchange Server 2013.

AutoDiscover

To set properties on specified Client Access Server objects use Set-ClientAccessServer cmdlet.

Outlook Anywhere

To set properties on a computer running Microsoft Exchange Server 2013 enabled for Microsoft Outlook Anywhere use Set-OutlookAnywhere cmdlet.

4. Offline Address Book (OAB) configuration

In Exchange Server 2013, OABGen (Offline Address Book Generation) service which runs on Mailbox server generates offline address book.

Change the default OAB on Exchange 2013 database using Get-MailboxDatabase and Set-MailboxDatabase

5. Mail Flow Configurations on Exchange 2013

Receive Connector

To create this connector use the New-ReceiveConnector cmdlet.

Send Connector

Now add the new Exchange Server to the existing send connector by the Set-SendConnector cmdlet.

Transport Rules:

Transport rules cannot be migrated from Exchange Server 2007 to 2013. So you need to do the following to get Transport rules in Exchange Server 2013.

  1. Use Export-TransportRuleCollection cmdlet to export all transport rules from Exchange Server 2007.
  2. Copy the exported Transport Rule file to the system which has Exchange Server 2013 installed on it.
  3. Use Import-TransportRuleCollection cmdlet to import the Transport Rules from the file to the Exchange Server 2013.

6. Moving Client Access to Exchange 2013

In the Exchange 2007 management shell you need to run the following commands.

Outlook Web App

Use Set-OwaVirtualDirectory cmdlet to modify properties of MS Outlook Web App virtual directories.

Offline Address Book

Use Set-OABVirtualDirectory cmdlet to configure offline address book virtual directory.

ActiveSync

Use Set-ActiveSyncVirtualDirectory cmdlet to configure the Microsoft Exchange ActiveSync settings on specified virtual directory.

Web Services

To modify Exchange Web Services virtual directory use Set-WebServicesVirtual Directory cmdlet on the server running Exchange Server 2007.

Unified Messaging

To modify an existing Exchange Unified Messaging virtual directory, run the Set-UMVirtualDirectory cmdlet.

Outlook Anywhere

To set Microsoft Outlook Anywhere properties on Microsoft Exchange Server 2007 use Set-OutlookAnywhere cmdlet.

Threat Management Gateway Rules

Now create and update your TMG publish rules.

Next update your publish rules for Exchange 2007 to accept connections for Legacy name space. And then publish Exchange Server 2013 using TMG.

Domain Name System Configurations:

In the Internal DNS, point mail.contoso.com and autodiscover.contoso.com to Exchange 2013 server. And in Legacy.contoso.com new record points to Exchange 2007 Server. In the Public DNS, point mail.contoso.com and autodiscover.contoso.com to TMG listener and for Legacy.contoso.com point new record to TMG Listener.

7. Moving Mailboxes to Exchange 2013

Next you can use New-MoveRequest cmdlet to start mailbox or personal archive migration. To check mailbox readiness before starting to move mailboxes you can use WhatIf parameter. You can also create batch move if you want.

8. Moving Public Folders to Exchange 2013 and decommissioning old Exchange

To start with, take snapshot of the current Public Folders in Exchange Server 2007 EMS using the following commands: Get-PublicFolder, Get-PublicFolderStatistics and Get-PublicFolderClientPermission.

Next create CSV files using scripts (Export-PublicFolderStatistics.ps1 and PublicFolderToMailboxMapGenerator.ps1). In this way you will get the CSV file mapping PFs to new PF mailboxes.

In the Exchange 2013, create PF mailboxes using New-Mailbox –PublicFolder cmdlet. Migrate PF content using New-PublicFolderMigrationRequest cmdlet.

Before starting the final migration, lock down Exchange Server 2007 using the following cmdlets.

Set-OrganizationConfig –PublicFoldersLockedForMigration $True (In Exchange 2007)

Set-PublicFolderMigrationRequest <name> -PreventCompletion $False (In Exchange 2013)

Resume-PublicFolderMigrationRequest <name> (In Exchange 2013)

Test new public folders to ensure everything is alright. Then us the following cmdlet to unlock the PF migration.

Set-OrganizationConfig -PublicFolderMigrationComplete:$true

Decommissioning Exchange Server 2007

Open Exchange Server 2007 management shell and run the following command to remove mailbox databases.

Get-MailboxDatabase | Remove-MailboxDatabase

Remove the public database and in the cmd run the following command to uninstall Exchange:

Setup.com /mode:uninstall

Thus we complete the entire Exchange Server 2007 to 2013 migration process.

SharePoint Server 2016 Live Preview – Hosted site

Yesterday we have shared a post with step be step installation on SharePoint Server 2016, and today we are going to share the live preview SharePoint Server 2016 Web Application from a hosted environment. You can access hosted site though http://techtalk.cloudapp.net/.

[Update: 22-Oct-2015] – Now most of the users have tested and reviewed the SharePoint 2016, from now this link will not be available and thanks for the nice feedback on our facebook page, appreciate you for spreading word to the community.

[Update: 04-Sep-2015] – We got very positive feedback on the hosted preview from the users with whom we shared the contribute credentials. Now we are sharing login details for all below:

Site to Access: SharePoint Server 2016 Live Preview
User –     MSTECHTALK\TestUser1
Password – MSTechTalk123

SharePoint Server 2016 - Live demo

The site is hosted in Azure and have two site collections with anonymous access.

  1. Publishing Site (team site, wiki and standard features are also enabled)
  2. Team Site

You can access the site, explore the content and view the changes in new version although you can not find it different form SharePoint Server 2013. So for that reason I have created few users with contributor rights to edit pages and manage list and libraries, work with parts and many more which can show you much more clear picture of changes in SharePoint Server 2016. For Contributor Rights you have to contact us through our facebook page MS Technology Talk,  send message there and in return we will share the user credentials. We want to share it to the maximum community members to explore it but it will be only possible with your help.

I already have shared the details on the Comparing SharePoint 2016 Boundaries and limitations with SharePoint 2013 & 2010. I also have share the hosted environment details in my previous post where I have shared the step by step guide of SharePoint 2016 installation, so hopefully server will not get performance issues and this can be a live test of SharePoint 2016.

You can also join us on social media forums for live tech talks.

SharePoint Server 2016 Installation step by step

SharePoint Server 2016 Preview has been released earlier today, check my previous post for Download and Product Key details, installation media is available for a trial period of 180 days.

I have completed a Single-Server installation of SharePoint Server 2016 with Database server on a separate machine. I am sharing the installation details here which can be helpful for many who are new to SharePoint. The installation is similar to the older versions of SharePoint except MinRoleTopolgy which is introduced for the first time in SharePoint 2016.

System Requirement

I have used the below hardware and software configuration form my current installation.

Hardware Requirement

Scenario Processor RAM Hard disk
Database Server 64-bit, 4 cores 8-24 GB 80 GB for system drive100 GB for second drive and additional drives
SharePoint Server 64-bit, 4 cores 8-12 GB 80 GB for system drive80 GB for second drive

Software Details:

Server OS Installation media
Database Server Windows Server 2012 R2 – with latest updates SQL Server 2014 with SP1 – x64
SharePoint Server Windows Server 2012 R2 – with latest updates SharePoint Server 2016 Preview

 SharePoint Server 2016 Preview installer

Open the SharePoint Server 2016 Preview installer file from SharePoint 2016 setup which will look like the below:

SharePoint Server 2016 - Installation Screen

Prerequisites Installation

You need to install software prerequisites first before the installation of SharePoint Server 2016, the prerequisites installation can ask for restart multiple time. Start the prerequisites installation as shown below:

SharePoint Server 2016 - Preparation Tool

On next page, you can view the license agreement which you have to accept if you want install, you have to accept it as you having no other choice. Prerequisites installation will take some and will also ask for restart. After restart, re-run the installer file and run prerequisites, this will again ask for agree on terms. Again continue it and wait for the installer to complete prerequisites.

SharePoint Server 2016 - Preparation Tool install wizard

After completion, you can see the installation status. Installation status in my machine is listed below, all installed successfully except .NET framework.

  • Application Server Role, Web Server (IIS) Role: configured successfully
  • Microsoft SQL Server 2012 Native Client: was already installed (no action taken)
  • Microsoft ODBC Driver 11 for SQL Server: installed successfully
  • Microsoft Sync Framework Runtime v1.0 SP1 (x64): installed successfully
  • Windows Server AppFabric: installed successfully
  • Microsoft Identity Extensions: installed successfully
  • Microsoft Information Protection and Control Client 2.1: installed successfully
  • Microsoft WCF Data Services 5.6: installed successfully
  • Cumulative Update Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763): installed successfully
  • Microsoft .NET Framework 4.5.2: was already installed (no action taken)
  • Update for Microsoft .NET Framework to disable RC4 in Transport Layer Security (KB2898850): installation error
  • Visual C++ Redistributable Package for Visual Studio 2013: installed successfully

SharePoint Server 2016 - Preparation Tool restart

I have restarted the machine as it was asking to restart, as you have noticed the one installation error “Microsoft .NET Framework to disable RC4 in Transport Layer Security, you need to install the security update for .net framework”.

The error patch description is “A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain access to information”

So you can download the security patch from Microsoft Download Center through this URL http://www.microsoft.com/en-us/download/details.aspx?id=42883

SharePoint Server 2016 - Preparation Tool installation complete

After installation, run the perquisites again and now you can see the issue is resolved. And we are good to install SharePoint 2016.

SharePoint Server 2016 Installation

Now after the perquisites installation, click on the SharePoint Server 2016 installation link to start the installation. Setup will first prepare the installation files and verify prerequisites and then will start the installation.

On first screen you will be prompt for the Product Key, you can enter key “NQTMW-K63MQ-39G6H-B2CH9-FRDWJ” for SharePoint Server 2016 Preview release.

SharePoint Server 2016 - Product Key

Once again you have to accept the license terms :)

SharePoint Server 2016 - License Terms

Choose the file location for SharePoint server and search server files. Search index files will be stored in local hard drive which can be very large so make sure that there is sufficient free space in selected drive. I will recommend you to use a separate drive for search index and default drive for SharePoint files.

SharePoint Server 2016 - File Location

Click on install now button to start the installation. The installation will take a few minutes to complete, in below image you can see the complete installation status, you can select the check box the start configuration wizard after the installation or you can manually start the configuration wizard.

SharePoint Server 2016 - Installation Wizard completed

SharePoint Product Configuration Wizard

The configuration wizard will start a welcome screen, press next to continue. The following services may have to be started or reset during configuration:

  • Internet Information Services
  • SharePoint Administration Service
  • SharePoint Timer Service

So choose yes to restart the services if required and continue with the configuration wizard.

SharePoint Server 2016 - Configuration Wizard Started

Select Create a new server farm option from the next step as shown in below screen, if you are already have installed a new farm and doing a MinRole installation then select the first option to connect to an existing server farm.

SharePoint Server 2016 - Configuration Wizard Connect Server Farm

Enter the database server details and database access account details, use a separate user for this but I am using the same SPAdmin user for the preview installation. I have assigned it below rights in DB server:

  • Dbcreator
  • SecurityAdmin
  • SysAdmin

SharePoint Server 2016 - Configuration Wizard Database Settings

If you are facing issues in connecting to SQL Server then make sure TCP/IP is enabled in SQL Server Configuration Manager. If you still getting the error then turn off the firewall on SQL server machine.

SQL Server 2014 - Configuration Manager

 

After completing the database settings, press next which will take to you on Farm security settings page. Enter passphrase here which is required to secure the farm configuration data and is required for each server that joins the farm.

SharePoint Server 2016 - Configuration Wizard Passphrase

Server Roles or the MinRoletopology

Here comes the MinRoles, SharePoint Server 2016 has six types of server roles:

  • Front-end
  • Application
  • Distributed Cache
  • Search
  • Custom
  • Single-Server Farm

You can either select single-server farm or can do a multi-server installation using MinRolestopology. If you have selected Single-Server Farm then you cannot extend to Multi-Server environment, so if you plan to extend to multi-Server farm in future then select the Custom MinRole or Application.

I am using single-server farm installation so will go with the last option.

SharePoint Server 2016 - Configuration Wizard MinRoles

On next screen, you can specify port for Central Admin or can use the default which is selected randomly. I have never used the default port, I always an easy one which I can remember like 5555. Select NTLM installation mode at this phase and press next.

SharePoint Server 2016 - Configuration Central Administration Web Application

Verify the settings in configuration wizar, press next to start the wizard. Advance option is not enabled for Single-Server installation.

SharePoint Server 2016 - Configuration Wizard Completed

Press Next button, it will start the configuration of SharePoint farm. This is similar to what we do in past with MOSS 2007, SharePoint 2010 and SharePoint 2013 or even with SharePoint Foundation which is no more part of SharePoint 2016.

SharePoint Server 2016 - Configuration Product Wizard

The wizard can take some time and if you get some errors then you have to verify the roles of the user in SQL Server. If everything went smooth then if will finish successfully then it means having a good day otherwise some more effort required :)

Being a SharePoint MVP, I am quite lucky to install it without any hurdle.

SharePoint Server 2016 - Product Configuration Successful

So now, happy time for me to do some SharePointing on SharePoint Server 2016. After the installation, run the services wizard from Central Administration, setup will take you to the service configuration wizard page, you can either configure them through wizard and can also configure them manually.

SharePoint Server 2016 - Service Configuration Wizard

As this is test environment, so I will prefer configuring services using wizard. We can define a separate account for services but I am using the same SharePoint Admin account for all services.

SharePoint Server 2016 - Service Configuration Wizard Page

This will complete the services wizard for me and now I am ready to explore SharePoint.

SharePoint Server 2016 - Central Administration Home

Below you can see the central administration page from my machine, and yes there are many new features in 2016, in below screen you can see one of them related to configure hybrid OneDrive and Site features under Office 365.

Keep visiting MSTechTalk.com, I will also share the hosted environment details so you can able to test the hosted preview of SharePoint Server 2016.

SharePoint Server 2016 IT Preview is now available

Great news that today SharePoint Server 2016 is announced and is now available for download on 180 days trial. You can download it from from Microsoft Download Center. And as we already mentioned in our post “No More SharePoint Foundation” SharePoint Server 2016 is an end of SharePoint foundation which means no more free SharePoint and this news may not suits to most of the users but from now onwards we will be using a more matured product which can be easily upgraded. And also there will be no new SharePoint Designer so we will keep using SharePoint Designer 2013 for workflows and other customizations (check details at “No More SharePoint Designer“).

It has been designed, developed, and tested with the Microsoft Software as a Service (SaaS) strategy at its core. SharePoint 2016 preview is designed to help new levels of reliability and performance and also empower users to achieve higher business demands.

SharePoint Server 2016 preview

Supported Operating Systems:

  • Windows Server 2008 R2 Standard
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server Technical Preview

Product Details

SharePoint Server 2016 unlocks new user experiences that are intuitive, yet familiar. For IT professionals, it delivers improved performance and scale with simplified management. And for developers, it offers an opportunity to build for cloud or on-premises.

For more details follow the link Bill Bear today’s post “Announcing availability of SharePoint Server 2016 IT Preview and cloud hybrid search“.

 

Exchange 2016 Installation Step by Step Guide for Anyone

At Ignite 2015, Microsoft showcase some of the features and capabilities of Exchange 2016 that makes it better then the existing 2013 version. On July 22, 2015 Microsoft announced the public preview availability of Exchange 2016. As Exchange 2016 preview is available so it’s time for exchange 2016 Installation step by step to explore the new features and capabilities of Exchange 2016.

Warning:  Microsoft doesn’t support the installation of Exchange 2016 preview in production environment. !!!

Before we start to look at exchange 2016 installation step by step, let’s take a look at some of the per-requisites for Exchange 2016 and comparability requirements.

Exchange 2016 does include Office Web App server but currently only available to members of the Exchange On-Premises Technology Adoption Program (TAP). If you’re not a member of the Exchange TAP program, you can still install Exchange 2016. However, the features enabled by “Office Web Apps vNext” won’t be available.

Exchange 2016 Compatibility Requirements:

  • Exchange 2016 doesn’t support coexistence with Exchange 2007 or earlier versions of Microsoft exchange.
  • Exchange 2013 CU8 and higher version are supported with Exchange 2016 coexistence.
  • Exchange 2010 SP3 RU9 and higher versions are supported for exchange 2016 coexistence with 2010.
  • Exchange 2016 hybrid is only supported with new upgraded office 365 tenant.
  • IPv6 is supported with coexistence of IPv4.
  • Outlook 2010 and 2013 clients are supported with Exchange 2016. I always recommend to patch the outlook client for best end user experience.

Exchange 2016 Installation Prerequisites:

  • Minimum forest functional level for exchange 2016 is Windows Server 2008.
  • Windows Server 2012 or 2012 R2 is required for Exchange 2016 installation. You cannot install Exchange 2016 on Windows 2012 core or essentials edition.

Exchange 2016 Installation Step by Step:

Exchange 2016 support three possible installations at the moment with preview edition.

  • Mailbox Server Role: It’s a mandatory server role for exchange 2016 and the only mandatory role in 2016.
  • Management Tools: Requires for admin purpose on admin machine.
  • Edge Transport Role: Optional role and we can’t install it on the same server that has mailbox role installed.

You must have Enterprise Admin, Schema Admin and Domain admin rights before you start the installation of Exchange 2016.

In my lab, I’ve installed the mailbox server and management tools on the same box and here are the steps to perform.

On exchange 2016 server member server, run the following cmdlet to install the exchange 2016 per-requisites. Make sure you run the powershell as administrator.

Install RSAT-ADDS by running the cmdlet Add-WindowsFeature RSAT-ADDS

Rsat

Installation of RSAT-ADDS allows exchange setup to extend AD Schema and prepare the domain for exchange installation. You can also extend your schema and domain by running the cmdlet.

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation

 

2

Note: You need to reboot the machine after the roles and features per-requisites installation is completed.

After rebooting the machine. Download and install the following in order.

  1. .NET Framework 4.5.2
  2. Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit

.Net Framework Installation

After downloading the file, double click the setup and follow the instructions.

3

Accept the license terms and click Install.

4

5

After 5-10 minutes, .Net framework installation will be completed.

6

Microsoft Unified Communications Managed API 4.0

1.1

1.2

1.3

1.4

1.5

1.6

Exchange 2016 Installation

Double click on Exchange 2016 Setup and follow the instructions.

Microsoft recommend to always check for updates before you start the installation and Click Next.

E1

Once you check for updates and install the required updates if required, Setup will start the process of copying Exchange setup files. E2

Once the files are copied, Setup will start the process of initialization for Exchange installation.

E3

 

E4

Click Next to Start the installation process. E5

Accept the license agreement and click on Next.

E6

Always use Recommended Settings and click Next.

E7

Select the server role that you would like to install. I’ve selected the Mailbox and Management Role as It’s the first Exchange server deployment in my lab. E8

Provide the path for Exchange Installation directory and click Next.

 

E9

Provide the name to your messaging organization. I’ve provided the name of “MSTechnologyTalk“. If you’ve split permissions model and have different administrator for Active Directory then select the check box for split permissions. E10

It’s recommended that you shouldn’t disable malware scanning on  your exchange server. We stick with the default option of No and click next.

E11

Read the warnings and make sure you don’t have any error message and click on Install. E12

 

During the Installation process, Exchange server will perform the following 15 steps.

  • Organization Preparation
  • Stopping Services
  • Copy Exchange Files
  • Language Files
  • Restoring Services
  • Languages
  • Management Tools
  • Mailbox Role: Transport Service
  • Mailbox Role: Client Access Service
  • Mailbox Role: Unified Messaging Service
  • Mailbox Role: Mailbox Service
  • Mailbox Role: Front End Transport Service
  • Mailbox Role: Client Access Front End Service
  • Finalizing Setup

After all above steps are completed, you’re done with the installation of your first Exchange 2016 in your organization. compYou need to reboot your exchange server before you start the administration and configuration of your exchange server.

After rebooting the server, Go to Exchange Management Shell and run the following cmdlet to verify the exchange version.

Exchange 2016You can download the pdf of this article from TechNet Gallery.

Managing Documents in SharePoint, the intelligent way!!

Document Management in SharePoint is a cumbersome task that often leaves IT administrators scratching their head with files & folders. Scanning, uploading and integrating content to SharePoint is just not enough. To quickly access the content that your employees, individuals or managers need, you want much more than a simple, document storing SharePoint application. What can be more gratifying than having a single manageable interface that can help you secure, manage and share business critical SharePoint information?

You might wonder how managing information in the right way can help your organization succeed in meeting both long-term and short-term goals associated with a project. So let’s take an example to introduce you with the criticality of managing information intelligently and efficiently.

The Scenario – Suppose you’re an enterprise running thousands of projects quarterly. Your IT administrator organizes all the files by Year (hierarchically via name of the year like 2006, 2007) on a shared drive that is accessible to other employees and members within the network. Each Year Folder has separate sub-folders with Names of Clients that you’ve worked for during that particular year (like Client A, Client B). And each Client folder is again subdivided into different folders with Names of Projects completed for a particular client (like Project D, Project E etc.) Finally each Project folder contain files in the form of documents that constitute a particular project (like Project Plan, Project Presentations etc.). Now, let’s say you want to check out all project plans made for client C within 10 minutes. How would you proceed? Is it possible to peep into thousands of folders at once and search the file in every folder that is displayed in front of your screen? Wouldn’t you panic in case you’re missing on a deadline?

Now, that’s where the role of Document Management in SharePoint comes into picture. With advanced features like check in and check out, permissions policies and version control management, latest versions of SharePoint has led it emerge as a successful enterprise management software across the globe.

So here, in this blog, I’m going to discuss some of the best techniques that will help you store documents in SharePoint intelligently and effectively!!

  1. Folders & Document Sets

You all know what a folder is!! So, let me introduce you with the concept of a document set. Document sets are basically the components similar to folders that allow users to collaborate on interrelated documents without requiring to create a new document library or site.

Now while storing documents in SharePoint, the trick is to go with Folders in case you need a hierarchy. If you want to use the extra capabilities of Document Sets like usability studies, knowledge management repositories, contracts and project documents; you must prefer to go further with a Document set only.

  1. Metadata Management : Best practices

Managed Metadata is basically a centrally managed collection of items where hierarchical terms that you can define and use as attributes are stored. Metadata is widely used as it refines search results in a better way and you can consistently use terminologies to search anything dynamically in a fast and easy way. Besides this, it allows you to have greater control over documents with features like sorting, filtering, grouping and generating custom views. One of the best things about Metadata management is – it can be imported even from a CSV file and everything can also be managed out of context.

Though you’ve all the additional features, there are some practices that must be followed by businesses relying on metadata management. First and foremost, you need to be a keen thinker while defining terms for your business. You need to plan everything in a hierarchical way while also being careful about legal requirements. To create your own metadata in SharePoint, first make new columns with properties and then proceed further. Remember that the success of metadata depends on two core components – first one is column and another one is a View.

  1. Create Top-level Content Types to Organize Information

You can also organize your documents via creating content types. These content types can be created on the top level of site collection if you don’t have any specific business requirements. The best part about using content types is that they can be managed together and can be used as the parent of other content types. Also, you can create groups of content types instead of the default custom content types and can also define your own “root” content type.

  1. Content Organizing Rules

When you have clear organizing goals, you can turn on the Content Organizer feature and use content organizing rules to create an excellent Search architecture with search based navigation.

In the target libraries also you can implement the content types quickly and easily.

Last but not the least, you can use third party tools to make document management simpler and faster. It’s not uncommon that IT administrators today are in dire need of sophisticated tools that can let them manage their files and folders quickly. With new features like Co-authoring and mobile integration, SharePoint is perceived as the best bet to manage information in a hierarchical manner.