Search This Blog

Friday, May 24, 2013

Power shell- Picture Library update picture and custom Properties

Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
 $webs =  Get-SPweb "http://dvnap-spdev01:8585"
 
 $ListName = "Country_Region"
Foreach ($oneweb in $webs.Webs)
{
write-host $oneweb

#Open Your List
$List = $oneweb.Lists[$ListName];
if ($List -ne $null)
{
$newitem= $list.items.Add();
$newitem["Title"]= "USA";
$newitem["Country"]= "USA";
$newitem["Region"]="AMERICAS";
$newitem.update();
}
else
{
 Write-Host "no customlist in this site ..."
}
}
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
-----------------------------------------------------------------------------
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
 $webs =  get-spsite -webapplication "http://dvnap-spdev01:8585"
 $ListName = "Country_Region"
Foreach ($oneweb in $webs)
{
write-host $oneweb
#Open you web
$OpenWeb = $oneweb.OpenWeb();
#Open Your List
$List = $OpenWeb.Lists[$ListName];
if ($List -ne $null)
{
$newitem= $list.items.Add();
$newitem["Title"]= "USA";
$newitem["Country"]= "USA";
$newitem["Region"]="AMERICAS";
$newitem.update();
}
else
{
 Write-Host "no customlist in this site ..."
}
}
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
---------------------------------------------------------------------------------------
// C:\Users\developer\Desktop\Photos (add ateast 1 image from path)
save it .ps1 file and execute(right click and run as poershell)
------------------------------------------------------------------------------------------------
Add-PSSnapin Microsoft.SharePoint.PowerShell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$SPSite = New-Object Microsoft.SharePoint.SPSite("http://external.com");
#Open you web
$OpenWeb = $SpSite.OpenWeb();
$number=100;
$docLibraryName = "ProfilePics"
$localFolderPath = "C:\Users\developer\Desktop\Photos"

$docLibrary = $OpenWeb.Lists[$docLibraryName]
$i=1
for (; $i -le $number; $i++)
{Write-Host  "Adding "$i

$files = ([System.IO.DirectoryInfo] (Get-Item $localFolderPath)).GetFiles() | ForEach-Object{
    $fileStream = ([System.IO.FileInfo] (Get-Item $_.FullName)).OpenRead()
    $contents = new-object byte[] $fileStream.Length
    $fileStream.Read($contents, 0, [int]$fileStream.Length);
    $fileStream.Close();
    write-host "Copying" $_.Name "to" $docLibrary.Title "in" $OpenWeb.Title "..."
    $folder = $docLibrary.RootFolder
    $spFile = $folder.Files.Add($folder.Url + "/" + $_.Name, $contents, $true)
    $spItem = $spFile.Item
$spItem["Name"]= "Nalco_mosesje"+$i.ToString()+"_MThumb";
$spItem["PicOwner"] = "Nalco\mosesje"+$i;
$spItem["PicOwnerEmail"] = "jegan.moses"+$i.ToString()+"@nalco.com";
$spItem.Update();
}

}

$OpenWeb.Dispose();
$SPSite.Dispose()                                                              
write-host "Library Item created successfully"
----another example(1 million item insert)--------------------------------------------------
=================================================================
// Set site url
$siteurl = “http://yourservername”
// get site obj
$mysite=new-object Microsoft.SharePoint.SPSite($siteurl)
// open root web
$spWeb = $mysite.OpenWeb()

// get test list obj
$spList = $spWeb.Lists["TestList"]
// Insert 1 million items
$i = 1001
do { Write-Host “Item – “$i
         $spitem = $spList.Items.Add()
         $spitem["Title"] = $i.tostring()
         $spitem.Update()
         $i++
}
while ($i -le 1000000)
===========================================================
save it .ps1 file and execute(right click and run as poershell)
Add-PSSnapin Microsoft.SharePoint.PowerShell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$SPSite = New-Object Microsoft.SharePoint.SPSite("http://dvnap-spdev01:8585");
#Open you web
$OpenWeb = $SpSite.OpenWeb();
$ListName = "Country_Region"
#Open Your List
$List = $OpenWeb.Lists[$ListName];

$newitem= $list.items.Add();
$newitem["Title"]= "USA";
$newitem["Country"]= "USA";
$newitem["Region"]="AMERICAS";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "IN";
$newitem["Country"]= "India";
$newitem["Region"]="Asia-Pacific";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "CA";
$newitem["Country"]= "CANADA";
$newitem["Region"]="AMERICAS";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "BR";
$newitem["Country"]= "BRAZIL";
$newitem["Region"]="AMERICAS";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "AU";
$newitem["Country"]= "AUSTRALIA";
$newitem["Region"]="Asia-Pacific";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "AT";
$newitem["Country"]= "AUSTRIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "AZ";
$newitem["Country"]= "AZERBAIJAN";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "BY";
$newitem["Country"]= "BELARUS";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "BE";
$newitem["Country"]= "BELGIUM";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "BA";
$newitem["Country"]= "BOSNIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "BG";
$newitem["Country"]= "BULGARIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "CN";
$newitem["Country"]= "CHAINA";
$newitem["Region"]="Asia-Pacific";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "VN";
$newitem["Country"]= "VIETNAM";
$newitem["Region"]="Asia-Pacific";
$newitem.update();
$newitem= $list.items.Add();
$newitem["Title"]= "UZ";
$newitem["Country"]= "UZBEKISTAN";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "GB";
$newitem["Country"]= "UNITED KINGDOM";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "UA";
$newitem["Country"]= "UKRAINE";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "TR";
$newitem["Country"]= "TURKEY";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "TH";
$newitem["Country"]= "THAILAND";
$newitem["Region"]="ASIA-PACIFIC";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "TW";
$newitem["Country"]= "TAIWAN";
$newitem["Region"]="ASIA-PACIFIC";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "CH";
$newitem["Country"]= "SWITZERLAND";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "SE";
$newitem["Country"]= "SWEDEN";
$newitem["Region"]="EUROPE";
$newitem.update()

$newitem= $list.items.Add();
$newitem["Title"]= "ES";
$newitem["Country"]= "SPAIN";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "SI";
$newitem["Country"]= "SLOVENIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "SK";
$newitem["Country"]= "SLOVAKIA";
$newitem["Region"]="EUROPE";
$newitem.update();
$newitem["Title"]= "SG";
$newitem["Country"]= "SINGAPORE";
$newitem["Region"]="ASIA-PACIFIC";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "CS";
$newitem["Country"]= "SERBIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "RU";
$newitem["Country"]= "RUSSIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "RO";
$newitem["Country"]= "ROMANIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "PT";
$newitem["Country"]= "PORTUGAL";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "NO";
$newitem["Country"]= "NORWAY";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "NZ";
$newitem["Country"]= "NEW ZEALAND";
$newitem["Region"]="ASIA-PACIFIC";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "NL";
$newitem["Country"]= "NETHERLANDS";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "MK";
$newitem["Country"]= "MACEDONIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "LU";
$newitem["Country"]= "LUXEMBOURG";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "LT";
$newitem["Country"]= "LITHUANIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "LV";
$newitem["Country"]= "LATVIA";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "KR";
$newitem["Country"]= "KOREA";
$newitem["Region"]="ASIA-PACIFIC";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "KZ";
$newitem["Country"]= "KAZAKHASTAN";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "JP";
$newitem["Country"]= "JAPAN";
$newitem["Region"]="ASIA-PACIFIC";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "IT";
$newitem["Country"]= "ITALY";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "IE";
$newitem["Country"]= "IRELAND";
$newitem["Region"]="EUROPE";
$newitem.update();

$newitem= $list.items.Add();
$newitem["Title"]= "ID";
$newitem["Country"]= "INDONESIA";
$newitem["Region"]="ASIA-PACIFIC";
$newitem.update();

$OpenWeb.Dispose();
$SPSite.Dispose()                                                              
write-host "list Item created successfully" 

Add Custom List through Power Shell

save it .ps1 file and execute powershell(right click file and run as powershell)

Add-PSSnapin Microsoft.SharePoint.PowerShell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$SPSite = New-Object Microsoft.SharePoint.SPSite("https://infomoss.com");
#Open you web
$OpenWeb = $SpSite.OpenWeb();
$ListName = "Country_Region"
#list description
$ListDescription = "Region information list"
$listTemplate = [Microsoft.SharePoint.SPListTemplateType]::GenericList  #GenericList template

write-host "Adding list" $ListName
$myCustomList = $OpenWeb.Lists[$ListName]
if($myCustomList -eq $null)
{
$lstId = $OpenWeb.Lists.Add($ListName,$ListDescription,$listTemplate)

write-host "list created successfully"
}
#Open Your List
$List = $OpenWeb.Lists[$ListName];
#Add User Field to list
$List.Fields.Add("Country", "Text", $User)
#Add TextField to list
$List.Fields.Add("Region", "Text", $Text)

#Update view
$Views = $List.Views["All Items"]
$Views.ViewFields.Add("Country")
$Views.ViewFields.Add("Region")

$Views.Update()
$OpenWeb.Dispose();
$SPSite.Dispose()

Web Config - Entry

just save .ps1 file and right click and run as powershell.....

Add-PSSnapin Microsoft.SharePoint.PowerShell
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$WebName = "http://spsdev1:8585"

$keyName1 = "Domain";
$keyValue1 = "dev01";

$keyName2 = "Password";
$keyValue2 = "iidodiep";

$keyName3 = "UserName";
$keyValue3 = "jaison";

$keyName4 = "SiteCollectionAdmin";
$keyValue4 = "jaison";

$keyName5 = "postingbook";
$keyValue5 = "CMV Workbooks";

$keyName6 = "portelid";
$keyValue6 = "34003";

$keyName7 = "portalpwd";
$keyValue7 = "w323d";

$keyName8 = "portalname";
$keyValue8 = "aisns";

$keyName9 = "PortalUrl";
$keyValue9 = "https://infomoss.blogspot.com /";

$configMod1 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod1.Path = "/configuration/appSettings";
$configMod1.Name = [system.string]::format("add[@key=""{0}""]", $keyName1);
$configMod1.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName1, $keyValue1);

$configMod2 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod2.Path = "/configuration/appSettings";
$configMod2.Name = [system.string]::format("add[@key=""{0}""]", $keyName2);
$configMod2.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName2, $keyValue2);

$configMod3 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod3.Path = "/configuration/appSettings";
$configMod3.Name = [system.string]::format("add[@key=""{0}""]", $keyName3);
$configMod3.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName3, $keyValue3);

$configMod4 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod4.Path = "/configuration/appSettings";
$configMod4.Name = [system.string]::format("add[@key=""{0}""]", $keyName4);
$configMod4.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName4, $keyValue4);

$configMod5 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod5.Path = "/configuration/appSettings";
$configMod5.Name = [system.string]::format("add[@key=""{0}""]", $keyName5);
$configMod5.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName5, $keyValue5);

$configMod6 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod6.Path = "/configuration/appSettings";
$configMod6.Name = [system.string]::format("add[@key=""{0}""]", $keyName6);
$configMod6.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName6, $keyValue6);

$configMod7 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod7.Path = "/configuration/appSettings";
$configMod7.Name = [system.string]::format("add[@key=""{0}""]", $keyName7);
$configMod7.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName7, $keyValue7);

$configMod8 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod8.Path = "/configuration/appSettings";
$configMod8.Name = [system.string]::format("add[@key=""{0}""]", $keyName8);
$configMod8.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName8, $keyValue8);

$configMod9 = New-Object Microsoft.SharePoint.Administration.SPWebConfigModification
$configMod9.Path = "/configuration/appSettings";
$configMod9.Name = [system.string]::format("add[@key=""{0}""]", $keyName8);
$configMod9.Value = [system.string]::format("<add key=""{0}"" value=""{1}"" />", $keyName8, $keyValue8);

$configMod1.Sequence = 0
$configMod1.Owner = "SharePoint"
## SPWebConfigModificationType.EnsureChildNode -> 0
## SPWebConfigModificationType.EnsureAttribute -> 1
## SPWebConfigModificationType.EnsureSection -> 2
$configMod1.Type = 0
$webapp = Get-SPWebApplication $WebName
$webapp.WebConfigModifications.Add($configMod1)
$webapp.WebConfigModifications.Add($configMod2)
$webapp.WebConfigModifications.Add($configMod3)
$webapp.WebConfigModifications.Add($configMod4)
$webapp.WebConfigModifications.Add($configMod5)
$webapp.WebConfigModifications.Add($configMod6)
$webapp.WebConfigModifications.Add($configMod7)
$webapp.WebConfigModifications.Add($configMod8)
$webapp.Update()
$webapp.Parent.ApplyWebConfigModifications()

                                                              

write-host "Web config entry created successfully"

Wednesday, May 8, 2013

Timer Job Upload Document Lib

// -----------------------------------------------------------------------
// <copyright file="ImportPDF.cs" company="Microsoft">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace AutomationImport
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.SharePoint.Administration;
    using System.IO;
    using Microsoft.SharePoint;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public class ImportPDF : SPJobDefinition
    {
        public ImportPDF()

            : base()
        {

        }

        public ImportPDF(string jobName, SPService service, SPServer server, SPJobLockType targetType)

            : base(jobName, service, server, targetType)
        {

        }

        public ImportPDF(string jobName, SPWebApplication webApplication)

            : base(jobName, webApplication, null, SPJobLockType.ContentDatabase)
        {

            this.Title = "Automated Import PDF Service";

        }
        public override void Execute(Guid contentDbId)
        {
            var localPath = "D:\\Code";
            var directory = new DirectoryInfo(localPath);
            if (directory.Exists)
            {
                foreach (FileInfo f in directory.GetFiles())
                {
                    using (SPSite site = this.WebApplication.Sites[0])
                    {
                        using (SPWeb currWeb = site.OpenWeb())
                        {
                            currWeb.AllowUnsafeUpdates = true;
                            //Shared is the document library
                            SPList docLibrary = currWeb.Lists["Shared Documents"];
                            SPListItemCollection ItemsColl = docLibrary.Items;
                            foreach (SPListItem item in ItemsColl)
                            {
                                item.File.CheckOut();
                                item.File.Delete();
                                item.Delete();
                            }
                            using (FileStream fs = File.OpenRead(string.Concat(localPath, "\\", f.Name)))
                            {
                                //Name is the name of the file
                                SPFile spfile = currWeb.Files.Add(currWeb.Url.ToString() + "/" + docLibrary.Title.ToString()
                                                                         + "/" + f.Name, fs);
                                spfile.Update();
                            }
                            docLibrary.Update();
                            currWeb.AllowUnsafeUpdates = false;
                        }
                    }
                }
            }
        }
    }
}

 -----------------------------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Security;
using Microsoft.SharePoint.Administration;

namespace AutomationImport.Features.AutomatedPDFService
{
    /// <summary>
    /// This class handles events raised during feature activation, deactivation, installation, uninstallation, and upgrade.
    /// </summary>
    /// <remarks>
    /// The GUID attached to this class may be used during packaging and should not be modified.
    /// </remarks>

    [Guid("5abb348f-ab2d-4bc9-9769-dd4616d1dc13")]
    public class AutomatedPDFServiceEventReceiver : SPFeatureReceiver
    {
        // Uncomment the method below to handle the event raised after a feature has been activated.

        public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            SPSite site = properties.Feature.Parent as SPSite;
           
          foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
          {

                if (job.Name == "AutomatedImportPDFService")

                    job.Delete();

            }

            // install the job

          ImportPDF customTimerJob = new ImportPDF("AutomatedImportPDFService", site.WebApplication);

            // Create a schedule for timer job
            SPMinuteSchedule customSchedule = new SPMinuteSchedule();  // You can create Hourly, Daily,  Weekly schedules as well
            customSchedule.BeginSecond = 0;
            customSchedule.EndSecond = 59;
            customSchedule.Interval = 10;  //Run every 2 minutes

            // assign the schedule to the timer job
            customTimerJob.Schedule = customSchedule;
            customTimerJob.Update();

            //SPDailySchedule schedule = new SPDailySchedule();
            //schedule.BeginHour = 23;
            //schedule.BeginMinute = 5;
            //schedule.BeginSecond = 0;
            //schedule.EndSecond = 15;
            //schedule.EndMinute = 5;
            //schedule.EndHour = 23;
            //customTimerJob.Schedule = schedule;
            //customTimerJob.Update();
        }


        // Uncomment the method below to handle the event raised before a feature is deactivated.

        public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
        {

            SPSite site = properties.Feature.Parent as SPSite;
            // delete the job
            foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
            {

                if (job.Name == "AutomatedImportPDFService")
                    job.Delete();
            }
        }

        // Uncomment the method below to handle the event raised after a feature has been installed.

        //public override void FeatureInstalled(SPFeatureReceiverProperties properties)
        //{
        //}


        // Uncomment the method below to handle the event raised before a feature is uninstalled.

        //public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
        //{
        //}

        // Uncomment the method below to handle the event raised when a feature is upgrading.

        //public override void FeatureUpgrading(SPFeatureReceiverProperties properties, string upgradeActionName, System.Collections.Generic.IDictionary<string, string> parameters)
        //{
        //}
    }
}