Wednesday, 19 November 2014

How to Create a Site Collection using Power Shell in SharePoint 2010

In this article I am showing you how to perform Import/Export operation of a particular SharePoint site using Power Shell

1. On the Start menu, click All Programs.

2. Click Microsoft SharePoint 2010 Products.
3. Click SharePoint 2010 Management Shell.
4. At the Windows Power Shell command prompt type the following command:

1.gif

5. You will get a Power shell command prompt like below

2.gif

6. In SharePoint 2010, Power Shell command Get-SPWebTemplate is used to export the site

7. Please see the screen shot for the Power Shell command

$template = Get-SPWebTemplate "STS#0"
New-SPSite -Url "your Site collection URL" -OwnerAlias "domain\user" -Template $template

3.gif

8. Where STS#0" represent a team site template

9. Please make sure you have created a managed path for the same. I will cover creating managed path in another article

10. You can use the below command to display basic information about all the STS templates

Get-SPWebTemplate "STS*"

4.gif


Reference:

http://www.c-sharpcorner.com/uploadfile/Roji.Joy/how-to-create-a-site-collection-using-power-shell-in-sharepoint-2010/

Configure SSL certificate warning settings using Power Shell

In this article I am showing you how to perform backup/restore operation using Power Shell

1. On the Start menu, click All Programs.

2. Click Microsoft SharePoint 2010 Products.
3. Click SharePoint 2010 Management Shell.
4. At the Windows Power Shell command prompt type the following command:
Image1.gif

5. You will get a Power shell command prompt like below

Image2.gif

6. In SharePoint 2010, Power Shell command Backup-SPSite is used for taking backup

7. Please see the screen shot for the backup Power Shell command

8. Backup-SPSite -Identity http://ServerName:port -Path "c:\backup\file.bak"

 Image3.gif

9. If you want to overwrite a previously used backup file, use the Force parameter. You can use the NoSiteLock parameter to keep the read-only lock from being set on the site collection while it is being backed up. However, using this parameter can allow users to change the site collection while it is being backed up and might lead to possible data corruption during backup.

10. Once this done you will get the backup.

11. Next you have to create site collection then use the below command to restore the backup that we currently taken.

12. Restore-SPSite -Identity http://Servername:port -Path "c:\backup\file.bak" -force

Image4.gif

13. I am using force command because I want to overwrite the existing site collection that I created now.


Refernce:

http://www.c-sharpcorner.com/uploadfile/Roji.Joy/backuprestore-of-sharepoint-2010-site-collection-using-power-shell/


SharePoint 2010 - Create SSL Enabled Site



As part of development activities we might need to create a SSL enabled site inside SharePoint 2010. These sites will be accessed using HTTPS instead of HTTP.

For example:

SSLShr1.jpg

HTTPS is the secured way of communication between server and client. Here the message is encrypted between the client and server. An encryption mechanism is needed to protect the message from being manipulated by unwanted parties.

HTTPS works by installing a certificate in the server-side web application. This certificate is used to encrypt messages between client and server. The encryption is based on a public key and private key usage. The public key will be shared with the client for encrypting the message and the decryption is performed on the server side using the private key.

Note: Stealing the public key does not help decrypt the message using a Man In the Middle attack since a Public key can only be used for encryption.

Please use the following steps to create a new SSL enabled SharePoint site.

Step 1

Create New Web Application

Go to Central Administration and open the Manage Web Applications link. Create a new Web Application with the following properties:

  1. Name it My Secured Site
  2. Use Secured Sockets Layer (SSL) Yes
SSLShr2.jpg

SSLShr3.jpg
Click the OK button to create the new web application.

Now add a new site collection inside the newly created web application.

Central Administration > Create Site collection > Choose current web application

Step 2

Set the Certificate

For SSL enabling you need to specify a Certificate in the Server which contains the public and private keys. Go to Internet Information Services (IIS / inetmgr.exe) and select the newly created site. Click on the Bindings link from the right side.

SSLShr4.jpg

In the dialog that appears select the https item and click the Edit button.

SSLShr5.jpg

In the dialog that appears select the Certificate from the drop down list.

SSLShr6.jpg

Click the OK button to continue.

Step 3

Test the URL

Now you are ready to test the HTTPS URL. Open a browser and enter the URL of the web site. You can also use the Browse link from IIS.

You will get the page as shown below. It says the certificate is not trusted. You can use the Continue link to proceed.

SSLShr7.jpg

Now you should be prompted with the site credentials. Enter the credentials to continue and you should get the site collection you created.

SSLShr8.jpg

Wow! If you can see the above site then you are done with your SSL enabled site. Please note that the URL now starts with https.

Adding SSL (HTTPS) support to an existing web application.

You can add SSL support to an existing web application by performing the following:
  1. Open IIS manager
  2. Select the web application
  3. Choose Bindings dialog
  4. Add new binding of type https
  5. Select the Certificate
  6. Click the OK button
References

MSDN on SharePoint SSL
SSL, Public Key, Private Key


Refernce:

http://www.c-sharpcorner.com/UploadFile/40e97e/sharepoint-2010-create-ssl-enabled-site/


Set up Secure Sockets Layer (SSL) using Digital Certificates


What is Secure Sockets Layer (SSL)?
SSL is a protocol for transmitting private documents via the Internet. Web sites use the SSL to obtain confidential user information, such as credit card numbers. SSL uses a cryptographic system that uses two keys to encrypt data - a public key known to everyone and a private or secret key known only to the recipient of the message. SSL protocol uses a third party, a Certificate Authority (CA), to identify one end or both ends of the transactions.

Getting and using a digital secure certificate

In order to get SSL certificate, you need to submit Certificate Signing Request (CSR) - a data file containing your details to Certification Authority (CA). During the SSL Certificate application process, the Certification Authority will validate your details and issue an SSL Certificate containing your details and allowing you to use SSL. Your web server will match your issued SSL Certificate to your Private Key. Your web server will then be able to establish an encrypted link between the website and your customer's web browser.

To create a Certificate Signing Request (CSR), right click on your IIS Server's Default Web Site, and choose Directory Security Tab, Click on Server Certificate. As shown in following diagram



IIS Certificate wizard will be opened. Select 'Create a new certificate' option and click next.



Follow the all the steps. In the end you will get 'certreq.txt' file as shown below



Now to https://www.thawte.com and go to trial section of certificate and follow the instruction to get the certificate. You need the paste contents of CSR in Textbox, provided for getting certificate. Paste all the contents including '-----BEGIN NEW CERTIFICATE REQUEST-----' and '-----END NEW CERTIFICATE REQUEST-----'. In the end you will get the certificate out in textbox, Copy it from textbox and make a .txt file, output should be like following image


Now click on 'IIS default Web Site' and choose Directory Security Tab, Click on Server Certificate. You will get the 'IIS Certificate Wizard'. Select 'Process the pending Request and install the certificate'. Follow the step to install the certificate (.txt) file created in last step.


Now certificates are installed on IIS.

C#/.aspx code to use SSL
In order to use SSL in asp.net, you need to redirect request through https instead of http. Make a new aspx website and add two pages (Welcome.aspx, Login.aspx) in your website. You can see in the Page_Load() event of Welcome.aspx following code, how to redirect the request to https.


Welcome.aspx.cs


public class WelCome : System.Web.UI.Page
{
    private void Page_Load(object sender, System.EventArgs e)
    {
        String url = https://athakur/AnandTestCert/Login.aspx;
        Response.Redirect(url);
    }
    override protected void OnInit(EventArgs e)
    {
        //
        // CODEGEN: This call is required by the ASP.NET Web Form Designer.
        //
        InitializeComponent();
        base.OnInit(e);
    }

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.Load += new System.EventHandler(this.Page_Load);
    }}

Login.aspx
<%@ Page language="c#" Codebehind="Login.aspx.cs" AutoEventWireup="false" Inherits="AnandTestCert.Login" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
      <HEAD>
               <title>Login</title>
               <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
               <meta name="CODE_LANGUAGE" Content="C#">
               <meta name="vs_defaultClientScript" content="JavaScript">
               <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
      </HEAD>
      <body MS_POSITIONING="GridLayout">
           <form id="Form1" method="post" runat="server">
                         <DIV style="DISPLAY: inline; FONT-SIZE: large; Z-INDEX: 101; LEFT: 28px; WIDTH: 300px; COLOR:
                           navy; FONT-FAMILY: Verdana, 'Trebuchet MS'; POSITION: absolute; TOP: 44px; HEIGHT: 38px;
                           BACKGROUND-COLOR: white" ms_positioning="FlowLayout">This web page uses SSL</DIV>
                         <DIV style="DISPLAY: inline; FONT-SIZE: xx-small; Z-INDEX: 103; LEFT: 80px; WIDTH: 52px; COLOR:
                           navy; FONT-FAMILY: Verdana, 'Trebuchet MS'; POSITION: absolute; TOP: 120px; HEIGHT: 20px;
                           BACKGROUND-COLOR: white" ms_positioning="FlowLayout">Password</DIV>
                         <DIV style="DISPLAY: inline; FONT-SIZE: xx-small; Z-INDEX: 102; LEFT: 68px; WIDTH: 64px; COLOR:
                           navy; FONT-FAMILY: Verdana, 'Trebuchet MS'; POSITION: absolute; TOP: 96px; HEIGHT: 20px;
                           BACKGROUND-COLOR: white" ms_positioning="FlowLayout">User Name</DIV>
                           &nbsp;
                         <asp:TextBox id="TextBox1" style="Z-INDEX: 104; LEFT: 152px; POSITION: absolute; TOP: 92px"
                           runat="server"></asp:TextBox>
                         <asp:TextBox id="TextBox2" style="Z-INDEX: 105; LEFT: 152px; POSITION: absolute; TOP: 120px"
                           runat="server"></asp:TextBox>
                         <asp:Button id="Button1" style="Z-INDEX: 106; LEFT: 80px; POSITION: absolute; TOP: 152px" 
                           runat="server" Text="Submit" OnClick="Button1_Click"></asp:Button>
                         <asp:Button id="Button2" style="Z-INDEX: 107; LEFT: 152px; POSITION: absolute; TOP: 152px"
                           runat="server" Text="Cancel"></asp:Button>
               </form>
      </body></HTML>

Make Welcome.aspx start page and run the application. You may get following message, which indicates that your application is using certificates.



See the URL it is redetected to https.



Now on the status bar you can see the lock symbol. Double Click on lock.



It will display the certificate details like issued to, issued by and valid date etc.


Conclusion

I hope this article will help you to set up SSL on an IIS. As we have seen above, Adding SSL on IIS is not a tough task.

Aah! Another bug! Well, it's the life.


Refernce:

http://www.c-sharpcorner.com/UploadFile/ankithakur/Secure_Sockets_Layer_aspx03052007002217AM/Secure_Sockets_Layer_aspx.aspx

Export or Import SSL Certificates in windows server using Microsoft Management Console



Export an SSL certificate from windows server.

Steps Involved:


  1. Go to Start => Run => Type MMC and then click on Ok.

    Run MMC
  2. In Microsoft Management Console, Click on the File menu and then click on Add\Remove Snap-in...

    Add/remove snap in mmc
  3. In the Add or Remove Snap-ins wizard, select Certificates from the available snap-ins and then click on Add.

    certificate in mmc
  4. Select My user account and click on Finish.

    select my user in mmc
  5. Certificate will be added and click on Ok.

    certificate added n mmc
  6. In the left pane expand Certificates, and then expand Personal.
  7. Click on Certificates folder.
  8. Right click on the certificate, click on All Tasks and then click on Export.

    export the certificate in mmc
  9. Certificate Export Wizard will pop up, click on Next.

    certificate expot wizart
  10. In the Export File Format select DER encoded binary X.509 (.CER) format.

    DER encoded binary in mmc
  11. Click on Next.
  12. In the File to Export click on browse, select the location and enter the Name.

    eexpot the file in mmc
  13. Click on Save, the certificate will be saved.
  14. In the Certificate Export Wizard, click on Finish.

    Certificate Export Wizard in mmc
  15. You will be getting the following pop up, click on Ok.

    export successful in mmc
  16. The certificate is exported successfully.

    certificate in mmc
Import an SSL certificate to the windows server:

Steps Involved:

  1. Go to Start => Run => Type MMC and then click on Ok.

    open mmc
  2. In Microsoft Management Console, Click on the File menu and then click on Add\Remove Snap-in...

    Add\Remove Snap in mmc
  3. In the Add or Remove Snap-ins wizard, select Certificates from the available snap-ins and then click on Add.

    Add Certificates in mmc
  4. Select My user account and click on Finish.

    My account in mmc
  5. Certificate will be added and click on Ok.

    Certificate added in mmc
  6. In the left pane expand Certificates, right click on the Personal folder, click on All Tasks and then click on Import.

    import task in mmc
  7. Certificate Import Wizard will pop up, click on Next.

    import wizard pop up in mmc
  8. Click on Browse and select the certificate to be imported.

    select certificate in mmc
  9. Click on Next.
  10. Select where the certificated should be stored.

    select path for certificate in mmc
  11. Click on Finish.

    complete the import wizard in mmc
  12. You will be getting the following pop up, click on Ok.

    successful pop up in mmc


Reference:

http://www.c-sharpcorner.com/uploadfile/anavijai/export-or-import-ssl-certificates-in-windows-server-using-microsoft-management-console/


Configure SSL certificate warning settings using Power Shell


Through User Interface:
  • Go to Central Administration, in the Quick Launch, click General Application Settings.
  • On the General Application Settings page, in the Search section, click Farm Search Administration.

    vi.gif
  • On the Farm Search Administration page, in the Farm-Level Search Settings section, click the value of the Ignore SSL Warnings setting.

    vi1.gif
  • If you want the crawler to proceed to crawl content even if the site name and the name in the SSL certificate do not match select the Ignore SSL certificate name warnings check box.

    vi2.gif
  • Click Ok.
Through Power Shell script:

Set-SPEnterpriseSearchService -IgnoreSSLWarnings $true

Set-SPEnterpriseSearchService -IgnoreSSLWarnings $false
 


Reference:

http://www.c-sharpcorner.com/UploadFile/anavijai/configure-ssl-certificate-warning-settings-using-power-shell/