<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CE4CSXo8fCp7ImA9WhRUFUQ.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713</id><updated>2012-01-26T07:49:28.474-08:00</updated><category term="Master Page" /><category term="Asp.Net and C#.net" /><category term="Windows Powershell" /><category term="SharePoint Administration" /><category term="Content Migration" /><category term="SharePoint Architecture" /><category term="SharePoint Customization" /><category term="SharePoint Development" /><title>Dhruv Shah's SharePoint Blog</title><subtitle type="html">&lt;b&gt;****Real time scenarios with best practice solutions.&lt;/b&gt;</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://dhruvshahsp.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>99</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DhruvShahsSharepointBlog" /><feedburner:info uri="dhruvshahssharepointblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CkAARH48fip7ImA9WhRUFUw.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-5768439585432357041</id><published>2012-01-25T08:59:00.000-08:00</published><updated>2012-01-25T08:59:05.076-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-25T08:59:05.076-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><title>SharePoint 2010 + Powershell + Get Profile Property Values for each ProfileUser</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; You have thousands of users and hundreds of profile properties in user profile service application.  For each user, you want to get the list of profile properties and their associated values then the following scripts can be used.&lt;br /&gt;
&lt;b&gt;Part 1:&lt;/b&gt; Get the list of profile properties display and internal names:&lt;br /&gt;
#######Script Part 1 Start#########&lt;br /&gt;
param&lt;br /&gt;
(&lt;br /&gt;
    $siteAddress = "Provide MySite URL"&lt;br /&gt;
)&lt;br /&gt;
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")&lt;br /&gt;
&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
    $site = New-Object Microsoft.SharePoint.SPSite $siteAddress&lt;br /&gt;
    $context = [Microsoft.SharePoint.SPServiceContext]::GetContext($site)&lt;br /&gt;
    $configManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager $context&lt;br /&gt;
    $propertyManager = $configManager.ProfilePropertyManager&lt;br /&gt;
    set-variable -option constant -name out -value "C:\ProfileProperties.csv"&lt;br /&gt;
    &lt;br /&gt;
    echo "Display Names"| Out-File $out -append&lt;br /&gt;
    foreach ($codeProperty in $propertyManager.GetCoreProperties())&lt;br /&gt;
    {&lt;br /&gt;
        $codeProperty.DisplayName+","| Out-File $out -append&lt;br /&gt;
    }&lt;br /&gt;
 echo "================================================="| Out-File $out -append&lt;br /&gt;
 echo "Just Names(May be internal)"| Out-File $out -append&lt;br /&gt;
    foreach ($codeProperty in $propertyManager.GetCoreProperties())&lt;br /&gt;
    {&lt;br /&gt;
        $codeProperty.Name+","| Out-File $out -append&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
finally&lt;br /&gt;
{&lt;br /&gt;
    if ($site -ne $null)&lt;br /&gt;
    {&lt;br /&gt;
        $site.Dispose()&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
Echo "Finished!"&lt;br /&gt;
&lt;br /&gt;
This will output the .csv file. Locate the internal names, put them in quotes, and separate them using commas ,. &lt;br /&gt;
&lt;b&gt;Part 2:&lt;/b&gt; We will provide the list of internal names of properties as an array and the following script needs to be run as scriptname.ps1 | out-file out.txt. &lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")&lt;br /&gt;
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")&lt;br /&gt;
$site =new-object Microsoft.SharePoint.SPSite("Provide Central Admin URL");&lt;br /&gt;
$ServiceContext = [Microsoft.SharePoint.SPServiceContext]::GetContext($site);&lt;br /&gt;
$ProfileManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($ServiceContext)&lt;br /&gt;
$AllProfiles = $ProfileManager.GetEnumerator()&lt;br /&gt;
$mySiteUrl = "Provide MySite URL"&lt;br /&gt;
//In the following line provide the profile property internal names&lt;br /&gt;
$upAttribute = @("UserProfile_GUID","SID","AccountName","FirstName","LastName")&lt;br /&gt;
$site1 = Get-SPSite $mySiteUrl&lt;br /&gt;
$context = Get-SPServiceContext $site1&lt;br /&gt;
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)&lt;br /&gt;
foreach($profile in $AllProfiles)&lt;br /&gt;
{&lt;br /&gt;
$adaccount = $profile[[Microsoft.Office.Server.UserProfiles.PropertyConstants]::AccountName].Value&lt;br /&gt;
if ($profileManager.UserExists($adAccount))&lt;br /&gt;
    {&lt;br /&gt;
        $up = $profileManager.GetUserProfile($adAccount)&lt;br /&gt;
 foreach ($ua in $upAttribute)&lt;br /&gt;
 {&lt;br /&gt;
 #if($up[$ua].Value -match "Something") - use this line if you want to get the values which has 'something' in it&lt;br /&gt;
  #{&lt;br /&gt;
         $adAccount+" ; "+ $ua +" ; "+$up[$ua].Value + ";"&lt;br /&gt;
  #}&lt;br /&gt;
 }&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        echo "Profile for user"$adAccount "cannot be found"&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
#write-host "Finished."&lt;br /&gt;
echo Finished&lt;br /&gt;
$site.Dispose()&lt;br /&gt;
$site1.Dispose()&lt;br /&gt;
&lt;br /&gt;
the output can be easily imported in an excel and utilized for various administrative purpose. &lt;br /&gt;
&lt;b&gt;Extras:&lt;/b&gt;&lt;br /&gt;
To change the profile property value use the following &lt;br /&gt;
    #Set up default variables&lt;br /&gt;
    $mySiteUrl = "http://mysite"&lt;br /&gt;
    $adAccount = "DOMAIN\username"&lt;br /&gt;
    $upAttribute = "WebSite"&lt;br /&gt;
    $upAttributeValue = “new value”&lt;br /&gt;
    #Get site objects and connect to User Profile Manager service&lt;br /&gt;
    $site = Get-SPSite $mySiteUrl&lt;br /&gt;
    $context = Get-SPServiceContext $site&lt;br /&gt;
    $profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)&lt;br /&gt;
    #Check to see if user profile exists&lt;br /&gt;
    if ($profileManager.UserExists($adAccount))&lt;br /&gt;
    {&lt;br /&gt;
        #Get user profile and change the value&lt;br /&gt;
        $up = $profileManager.GetUserProfile($adAccount)&lt;br /&gt;
        $up[$upAttribute].Value = $upAttributeValue&lt;br /&gt;
        $up.Commit()&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        write-host "Profile for user"$adAccount "cannot be found"&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    #Dispose of site object&lt;br /&gt;
    $site.Dispose() &lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://get-spscripts.com/2010/07/modify-single-value-user-profile.html"&gt;http://get-spscripts.com/2010/07/modify-single-value-user-profile.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ghamson.wordpress.com/2010/11/04/updating-user-profile-properties-via-powershell-pictureurlsharepoint-2010-in-sp2010/"&gt;http://ghamson.wordpress.com/2010/11/04/updating-user-profile-properties-via-powershell-pictureurlsharepoint-2010-in-sp2010/&lt;/a&gt;&lt;br /&gt;
Enjoy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-5768439585432357041?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vOlPtd92750m57RCE_yGo7PKEGs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vOlPtd92750m57RCE_yGo7PKEGs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vOlPtd92750m57RCE_yGo7PKEGs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vOlPtd92750m57RCE_yGo7PKEGs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/pBI81a5wXpE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/5768439585432357041/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=5768439585432357041" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5768439585432357041?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5768439585432357041?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/pBI81a5wXpE/sharepoint-2010-powershell-get-profile.html" title="SharePoint 2010 + Powershell + Get Profile Property Values for each ProfileUser" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2012/01/sharepoint-2010-powershell-get-profile.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4CSXoyfip7ImA9WhRUFUQ.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-6678405369923299734</id><published>2012-01-23T08:48:00.000-08:00</published><updated>2012-01-26T07:49:28.496-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-26T07:49:28.496-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>Installing Service Pack 1 and August 2011 CU to Multi Server SharePoint 2010 Farm with Language Packs and Project Server 2010 installed</title><content type="html">With Project Server Installed on SharePoint Server, it is very confusing to determine which packages to download and which installation sequence/order to follow. I hope the following helps SharePoint and/or project server administrators:&lt;br /&gt;
&lt;b&gt;Prerequisites:&lt;/b&gt;&lt;br /&gt;
1. Check Disk space on both WFEs,&lt;br /&gt;
2. Check for Pending upgrade status in CA and try to fix those if possible,&lt;br /&gt;
3. Check MSSQL disk space&lt;br /&gt;
4. Download and locate packages&lt;br /&gt;
5. Open Task manager and make sure no other user is logged on&lt;br /&gt;
&lt;b&gt;Execution:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;*We can concurrently install binaries on both WFEs*&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt;If the installation of packages takes too much time you can change the processor affinity and Priority. Here is how:&lt;br /&gt;
1. Open task manager when the installation is in progress&lt;br /&gt;
2. Find and select the process under processes tab&lt;br /&gt;
3. Right click the process select 'set priority'&lt;br /&gt;
4. You can change the priority from 'Normal' to 'Above Normal' or 'High' or 'Realtime'&lt;br /&gt;
5. Again select the process under processes tab&lt;br /&gt;
6. Right click the process and select 'Set Affinity...'&lt;br /&gt;
7. Select all processors&lt;br /&gt;
&lt;b&gt;Service Pack 1 [SP farm Build Version upgrade from 14.0.4762.1000/14.0.4763.1000 to 14.0.6029.1000]&lt;/b&gt; &lt;br /&gt;
1. Login to the boxes using farm admin account&lt;br /&gt;
2. Stop the World Wide Web Publishing Service (w3svc) and Microsoft Project Server Queue service 2010 on both WFEs&lt;br /&gt;
a. This will prevent any users from accessing the sites when the packages are being installed.&lt;br /&gt;
3. Install 'SharePoint Foundation 2010 Service Pack 1' on both WFEs.&lt;br /&gt;
a. Package name - sharepointfoundation2010sp1-kb2460058-x64-fullfile-en-us.exe&lt;br /&gt;
b. Size - 44236KB&lt;br /&gt;
c. After the installation is complete it will ask you to reboot to complete the installation. You can select no and choose to reboot later. In our case, we rebooted the servers.  &lt;br /&gt;
4. After restart, stop the World Wide Web Publishing Service (w3svc) and Microsoft Project Server Queue service 2010 on both WFEs &lt;br /&gt;
5. Install ‘SharePoint Project Server 2010 Service Pack 1’ on both WFEs&lt;br /&gt;
&lt;b&gt;a. Project Server 2010 Service Pack 1 also contains Service Pack 1 updates for SharePoint Server 2010, and both are applied automatically during the installation process&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
b. Package name - officeandprojectserver2010sp1-kb2460047-x64-fullfile-en-us.exe &lt;br /&gt;
c. Size - 401415KB&lt;br /&gt;
6. After installing the above package,&lt;br /&gt;
a. There is no need to install ‘Service Pack 1 for SharePoint Foundation 2010 Language Pack (Package name - spflanguagepack2010sp1-kb2460059-x64-fullfile-en-us.exe)’ When we tried to install the same we got ‘There are no products affected by this package installed on this system’ message.&lt;br /&gt;
b. After installing the above package, there is no need to install ‘service Pack 1 for Server Language Pack 2010 (Package name - serverlanguagepack2010sp1-kb2460056-x64-fullfile-en-us.exe)’ When we tried to install the same we got ‘The update is already installed on this system’ message.&lt;b&gt;NOTE:&lt;/b&gt;we encountered an environment where we did not get ‘The update is already installed on this system’ message. The package actually got installed and it took 1.5 hours. So, better to have these packages ready and we should check once running it.&lt;br /&gt;
7. Run ‘SharePoint Products and Configuration Wizard’ on both WFEs - Run it on the server with Central Administration first&lt;br /&gt;
a. In our case we were not able to run the wizard successfully. Some content databases were referencing a feature which was not installed on the farm. And some content databases were complaining about the orphaned sites. You can get this info in upgrade log error in 14/logs folder&lt;br /&gt;
b. We detached the databases, did IISRESET and reran the wizard again and it ran successfully. (Sometimes just rerunning the wizard results in success! – withouts even fixing the errors)&lt;br /&gt;
c. Make sure to run the wizard successfully on server CA first and then start running it on another WFEs&lt;br /&gt;
d. We attached back the databases after running the wizard on both servers. &lt;br /&gt;
8. Restart both the servers &lt;br /&gt;
9. Testing for successful SP1 deployment&lt;br /&gt;
a. Login to CA, &lt;br /&gt;
i. Check the configuration database build version &lt;br /&gt;
ii. Check the content database schema version &lt;br /&gt;
iii. Check the product upgrade status &lt;br /&gt;
iv. Check the database upgrade status&lt;br /&gt;
v. You can also run stsadm –o localupgradestatus &lt;br /&gt;
&lt;b&gt;August 2011 CU [SP farm Build Version upgrade from 14.0.6029.1000 to 14.0.6109.5002]&lt;/b&gt;&lt;br /&gt;
1. Stop the World Wide Web Publishing Service (w3svc) and Microsoft Project Server Queue service 2010 on both WFEs &lt;br /&gt;
2. Install ‘August 2011 CU for Project Server 2010 on both WFEs (CA server first)&lt;br /&gt;
a. It will ask to extract files, extract those on same folder&lt;br /&gt;
b. Package Name - 438520_intl_x64_zip.exe. After extraction  - office2010-kb2553049-fullfile-x64-glb&lt;br /&gt;
&lt;b&gt;c. This package includes CU Updates for SharePoint Server, SharePoint Foundation and SharePoint foundation language packs, SharePoint server language packs, Project Server language packs&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
d. Size - 1114120KB&lt;br /&gt;
3. Repeat steps 7, 8(restart is not mandatory), 9 (testing for CU) from SP1 installation steps&lt;br /&gt;
4. Manually start the World Wide Web Publishing Service (w3svc) and Project Queue service on both WFEs &lt;br /&gt;
5. Check user profile service app. If it is not working as expected restart the same.  &lt;br /&gt;
&lt;b&gt;References&lt;/b&gt; &lt;br /&gt;
1. http://technet.microsoft.com/en-us/library/hh272536.aspx#section3&lt;br /&gt;
2. http://technet.microsoft.com/en-us/library/dd239177.asp&lt;br /&gt;
3. http://blogs.technet.com/b/steve_chen/archive/2010/09/29/build-numbers-cube-sheet-for-sharepoint-2010.aspx&lt;br /&gt;
--END--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-6678405369923299734?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rTKLAJToudfW0y-y9siNU2PsSPQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rTKLAJToudfW0y-y9siNU2PsSPQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rTKLAJToudfW0y-y9siNU2PsSPQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rTKLAJToudfW0y-y9siNU2PsSPQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/Tf7JUtDeqkU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/6678405369923299734/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=6678405369923299734" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/6678405369923299734?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/6678405369923299734?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/Tf7JUtDeqkU/installing-service-pack-1-and-august.html" title="Installing Service Pack 1 and August 2011 CU to Multi Server SharePoint 2010 Farm with Language Packs and Project Server 2010 installed" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2012/01/installing-service-pack-1-and-august.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQDQ3s_eSp7ImA9WhRXFE0.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-3300532046693918956</id><published>2011-12-20T08:59:00.000-08:00</published><updated>2011-12-20T08:59:32.541-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-20T08:59:32.541-08:00</app:edited><title>Before you use Ips with webapplication..</title><content type="html">It will some time just say that the IPs are available. but before you use them with webapplication do the following:&lt;br /&gt;
start-network-network and sharing center- click on cluster- on cluster dialog box click on properties-select (tcp/ipv4) and click on properties-on (tcp/ipv4) properties window click on advanced-on advanced  tcp/ipv4) settings window under IP Addresses tab click ADD to add IP address. give the subnet mast as 255.255.255.0 &lt;br /&gt;
After doing this you should be able to associate the IP to the webapp. Make sure to create a DNS entry or host file entry before you access the site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-3300532046693918956?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/me8dZAx0y-QxPJJxqOLsiNiv11E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/me8dZAx0y-QxPJJxqOLsiNiv11E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/me8dZAx0y-QxPJJxqOLsiNiv11E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/me8dZAx0y-QxPJJxqOLsiNiv11E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/7yhgj4nWW_c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/3300532046693918956/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=3300532046693918956" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3300532046693918956?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3300532046693918956?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/7yhgj4nWW_c/before-you-use-ips-with-webapplication.html" title="Before you use Ips with webapplication.." /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2011/12/before-you-use-ips-with-webapplication.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08NQHg7cSp7ImA9WhRRGEs.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-7535851420893745624</id><published>2011-11-21T09:09:00.000-08:00</published><updated>2011-12-02T13:38:11.609-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-02T13:38:11.609-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>SharePoint 2010 Document Library Export Import using Powershell</title><content type="html">Export Command:&lt;br /&gt;
Export-SPWeb -Identity &lt;web or subweb url&gt; -Path c:/export.cmp -ItemUrl &lt;list or doc lib name&gt; -IncludeUserSecurity -IncludeVersions 4&lt;br /&gt;
Few things before you import:&lt;br /&gt;
- import will append the docs on the destination document library (will not overwrite anything on destination)&lt;br /&gt;
- I was not able to find na way to change the URL of a document library either thru GUI or thru SPD 2010. Using SPD 2007 i know we can use rename option. However here this option does not seem to be working &lt;br /&gt;
- I was not able to find a way to move the exported docs in a seperate folder on the destination doc lib&lt;br /&gt;
- I do not think that the import command allows to place the documents in a library with a different name than the source doc library&lt;br /&gt;
Import Command:&lt;br /&gt;
Import-SPWeb -Identity &lt;web or subweb url&gt; -Path c:/export.cmp&lt;br /&gt;
examples:&lt;br /&gt;
Export-SPWeb -Identity "https://Webapp/sitecoll/subsitecoll" -Path c:/exp.cmp -ItemUrl "Shared Documents" -IncludeUserSecurity -IncludeVersions 4&lt;br /&gt;
Import-SPWeb -Identity "https://newwebapporsame/sites(or any other managed path)/subweb" -Path c:/exp.cmp  &lt;br /&gt;
Import-SPWeb -Identity &lt;Site URL&gt; -Path &lt;Export file name&gt; [-Force] [-NoFileCompression] [-Verbose]&lt;br /&gt;
NOtes:&lt;br /&gt;
The export did not work for mysites user Pictures library. &lt;br /&gt;
CA granular backup worked &lt;br /&gt;
Import workes for mysites picture library.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-7535851420893745624?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xTpSZHnk21D-MAo9-LjZPuWmJGA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xTpSZHnk21D-MAo9-LjZPuWmJGA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xTpSZHnk21D-MAo9-LjZPuWmJGA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xTpSZHnk21D-MAo9-LjZPuWmJGA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/DMhFeOHqMM8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/7535851420893745624/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=7535851420893745624" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/7535851420893745624?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/7535851420893745624?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/DMhFeOHqMM8/sharepoint-2010-document-library-export.html" title="SharePoint 2010 Document Library Export Import using Powershell" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2011/11/sharepoint-2010-document-library-export.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYNQn48eyp7ImA9WhRTGEs.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-2271945344759983151</id><published>2011-11-09T11:33:00.000-08:00</published><updated>2011-11-09T11:33:13.073-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T11:33:13.073-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>list of sitecollection administrators and list of subsite owners</title><content type="html">1. this script drills down to the subsite level &lt;br /&gt;
2. this will also provide the email address of the users &lt;br /&gt;
3. run it with |out-file c:/owners.txt &lt;br /&gt;
4. import the .txt to excel with ; as delimited character &lt;br /&gt;
$siteUrls = @("webappurl1","webappurl2")&lt;br /&gt;
&lt;br /&gt;
foreach ($siteUrl in $siteUrls)&lt;br /&gt;
{&lt;br /&gt;
 $rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)&lt;br /&gt;
&lt;br /&gt;
 $spWebApp = $rootSite.WebApplication&lt;br /&gt;
&lt;br /&gt;
 foreach($site in $spWebApp.Sites)&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
&lt;br /&gt;
     foreach($siteAdmin in $site.RootWeb.SiteAdministrators)&lt;br /&gt;
&lt;br /&gt;
     {&lt;br /&gt;
  echo "$($siteAdmin.ParentWeb.Url) ; SiteAdministrators ;$($siteAdmin.DisplayName) ; $($siteAdmin.Email)"&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
     }&lt;br /&gt;
 foreach($web1 in $site.AllWebs)&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
  foreach ($group in $web1.groups)&lt;br /&gt;
  {&lt;br /&gt;
 &lt;br /&gt;
   if ($group.name -match "owners")&lt;br /&gt;
   {&lt;br /&gt;
   &lt;br /&gt;
   foreach ($member in $group.users)&lt;br /&gt;
   {&lt;br /&gt;
    &lt;br /&gt;
    echo "$($web1.Url) ; $($group.name) ; $($member.DisplayName) ; $($member.Email)"&lt;br /&gt;
   }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 $web1.dispose()&lt;br /&gt;
&lt;br /&gt;
 $site.Dispose()&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 $rootSite.Dispose()&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo "operation Completed"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-2271945344759983151?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4I0ru22Uzri1BcsrJEDytE9z1Jc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4I0ru22Uzri1BcsrJEDytE9z1Jc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4I0ru22Uzri1BcsrJEDytE9z1Jc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4I0ru22Uzri1BcsrJEDytE9z1Jc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/ubfCo-bJj_k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/2271945344759983151/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=2271945344759983151" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/2271945344759983151?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/2271945344759983151?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/ubfCo-bJj_k/list-of-sitecollection-administrators.html" title="list of sitecollection administrators and list of subsite owners" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2011/11/list-of-sitecollection-administrators.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08BSX85fip7ImA9WhZWFks.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-257994219830952196</id><published>2011-05-17T13:55:00.000-07:00</published><updated>2011-05-17T13:57:38.126-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T13:57:38.126-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><title>MOSS 2007 "Ttrial period for this product has expired" error</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt;&lt;br /&gt;
You receive this error when you try to edit the page or create a new page. &lt;br /&gt;
&lt;b&gt;WorkAround:&lt;/b&gt;&lt;br /&gt;
Go to All site content page --&gt; click on pages --&gt; check out page --&gt; make changes --&gt; check in --&gt; publish as major version. Most of the times this will work. &lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
1) Add App pool accounts to 'Distributed Com Users' Group on all WFEs and APP servers&lt;br /&gt;
2) Run the Sharepoint products and technologies wizard on all the three servers &lt;br /&gt;
3) Do an IISreset on all the servers &lt;br /&gt;
4) 1-3 will fix the issue in most of cases.  &lt;br /&gt;
5) If not, Download and install the following&lt;br /&gt;
Update for 2007 Microsoft Office servers (KB971620), 64-Bit Edition (32 bit for 32 machines)&lt;br /&gt;
Reference: &lt;a href="http://support.microsoft.com/kb/971620/en-us"&gt;http://support.microsoft.com/kb/971620/en-us&lt;/a&gt;&lt;br /&gt;
6) Reboot the server&lt;br /&gt;
This will fix the issue.  &lt;br /&gt;
--ENJOY--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-257994219830952196?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SR1RSt-VKMCIw_AiwSWzlew_vn8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SR1RSt-VKMCIw_AiwSWzlew_vn8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SR1RSt-VKMCIw_AiwSWzlew_vn8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SR1RSt-VKMCIw_AiwSWzlew_vn8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/hNgkVu1_NBA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/257994219830952196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=257994219830952196" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/257994219830952196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/257994219830952196?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/hNgkVu1_NBA/moss-2007-ttrial-period-for-this.html" title="MOSS 2007 &quot;Ttrial period for this product has expired&quot; error" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2011/05/moss-2007-ttrial-period-for-this.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QDSX04eyp7ImA9WhZWE0w.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-2504351984195076097</id><published>2011-05-13T11:29:00.000-07:00</published><updated>2011-05-13T11:29:38.333-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-13T11:29:38.333-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>SharePoint Sites Migration to a new domain. The best way to handle URL redirects</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; Assume that you have two separate MOSS2007 instances running under inst1.comp.org and inst2.comp.org. You have to decommission inst1 server and hence have to move all the site-collections under http://inst1.comp.org to  inst2.comp.org. After the successful migration what if some user tries to access the sites using the old url or what if he bookmarked some document library. I came up with a script (basic Javascript an some html) to handle this situation. &lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
Create a default.htm page and paste the following code:&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
 &amp;lt;BODY&amp;gt;&lt;br /&gt;
  &amp;lt;P&amp;gt;URL Redirect&amp;gt;/P&amp;gt;&lt;br /&gt;
  &amp;lt;P&amp;gt;You will be redirected to your requested website which has been moved recently. &amp;lt;/P&amp;gt;&lt;br /&gt;
  &amp;;t;P&amp;gt;Please make a note of a new URL and update your bookmarks&amp;gt;/P&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
 &amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;gt;&lt;br /&gt;
&amp;lt;script language="javascript" type="text/javascript"&amp;gt;&lt;br /&gt;
document.write("You entered the following URL:");&lt;br /&gt;
var str1=document.location.href;&lt;br /&gt;
document.write(str1);&lt;br /&gt;
document.write("                                             ");&lt;br /&gt;
var str2=str1.replace("inst1.comp.org","inst2.comp.org");&lt;br /&gt;
var str3=str2.replace("/sites/one","/somethingelse/one");&lt;br /&gt;
var str4=str3.replace("/sites/two","/two");&lt;br /&gt;
document.write("The new URL will be:");&lt;br /&gt;
document.write(str4);&lt;br /&gt;
setTimeout("redirectpageto()", 5000);&lt;br /&gt;
function redirectpageto()&lt;br /&gt;
{&lt;br /&gt;
    window.location=str9;&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/script&amp;gt; &lt;br /&gt;
Create a web.config file and paste the following code :&lt;br /&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
    &amp;lt;system.webServer&amp;gt;&lt;br /&gt;
        &amp;lt;httpRedirect enabled="false" destination="" exactDestination="false" /&amp;gt;&lt;br /&gt;
        &amp;lt;httpErrors&amp;gt;&lt;br /&gt;
            &amp;lt;remove statusCode="404" subStatusCode="-1" /&amp;gt;&lt;br /&gt;
            &amp;lt;error statusCode="404" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" /&amp;gt;&lt;br /&gt;
        &amp;lt;/httpErrors&amp;gt;&lt;br /&gt;
        &amp;lt;staticContent&amp;gt;&lt;br /&gt;
            &amp;lt;mimeMap fileExtension=".aspx" mimeType="text/aspx" /&amp;gt;&lt;br /&gt;
        &amp;lt;/staticContent&amp;gt;&lt;br /&gt;
    &amp;lt;/system.webServer&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once this two files are ready placed them in c:/newsite folder &lt;br /&gt;
then add this folder as a website in IIS(with dedicated IP address of old (inst1)server-&gt;if it is SSL make sure to select port 443-&gt; then select the host header (or a DNS entry will work)&lt;br /&gt;
Add it as a website on all WFEs on inst2 farm.&lt;br /&gt;
Note:if the dedicated ip is not available you can test it using host file entries &lt;br /&gt;
&lt;b&gt;Advanced Scenario:&lt;/b&gt;&lt;br /&gt;
You do not have to manually download you can copy or move the server certificate from the old server's IIS, using the following steps you can copy or move the certificate from one server to another &lt;br /&gt;
Click on website-&gt; properties-&gt;click on directory security tab-&gt;click on server certificate -&gt;click on next-&gt;select last option ‘copy or move current certificate’-&gt;click next-&gt;select copy and then click next&lt;br /&gt;
==END==&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-2504351984195076097?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/P4ZbbAmw9AzM0cpc2l8DoAp1guA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P4ZbbAmw9AzM0cpc2l8DoAp1guA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/P4ZbbAmw9AzM0cpc2l8DoAp1guA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P4ZbbAmw9AzM0cpc2l8DoAp1guA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/QJUUYpm51lw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/2504351984195076097/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=2504351984195076097" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/2504351984195076097?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/2504351984195076097?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/QJUUYpm51lw/sharepoint-sites-migration-to-new.html" title="SharePoint Sites Migration to a new domain. The best way to handle URL redirects" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2011/05/sharepoint-sites-migration-to-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MHR3w5fSp7ImA9Wx9WGEQ.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-3534627625666125718</id><published>2011-01-24T10:49:00.000-08:00</published><updated>2011-01-24T10:57:16.225-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-24T10:57:16.225-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>Install Powershell 2.0 on Windows server 2008</title><content type="html">&lt;b&gt;System requirements:&lt;/b&gt;&lt;br /&gt;
Windows server 2008 enterprise SP1 x64&lt;br /&gt;
&lt;b&gt;What version of powershell you have?&lt;/b&gt;&lt;br /&gt;
-Click start-&gt; type 'Power' in the search text box,&lt;br /&gt;
-Click on the 'Windows Powershell' icon to open powershell&lt;br /&gt;
-Type $PSVersionTable to get the version of the installed powershell &lt;br /&gt;
     the above command did not work for me, so I ran the following command: &lt;br /&gt;
     Get-host and it gave me the version number&lt;br /&gt;
-After confirming that you are running v1 of powershell, browse to the following URL:&lt;br /&gt;
&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyId=d37e25cf-db05-4b23-a852-cdf865d81b82&amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyId=d37e25cf-db05-4b23-a852-cdf865d81b82&amp;displaylang=en&lt;/a&gt;&lt;br /&gt;
-If you want to install it on any other OS with x86 or x64 get the appropriate resource from the following page:&lt;br /&gt;
&lt;a href="http://support.microsoft.com/kb/968930"&gt;http://support.microsoft.com/kb/968930&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Key notes:&lt;/b&gt;&lt;br /&gt;
-There is no upgrade package which will let you upgrade from powershell v1 to 2 &lt;br /&gt;
-No need to uninstall the existing poweshell with v1&lt;br /&gt;
-You must have to download windows update in order to install v2 of powershell. &lt;br /&gt;
  this installer will automatically upgrate the powrshell from v1 to v2. &lt;br /&gt;
-Once you download the installer double click on it&lt;br /&gt;
-Read the license agreement and follow the steps to complete installation.&lt;br /&gt;
-Reboot is required&lt;br /&gt;
&lt;b&gt;Testing for successful upgrade:&lt;/b&gt;&lt;br /&gt;
-Open windows powershell and type the command 'Get-host' and now it will show version : 2.0 &lt;br /&gt;
Enjoy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-3534627625666125718?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BI8zZh871iVf7XuRIbpZsp15_IE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BI8zZh871iVf7XuRIbpZsp15_IE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BI8zZh871iVf7XuRIbpZsp15_IE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BI8zZh871iVf7XuRIbpZsp15_IE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/Pizatr--uW4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/3534627625666125718/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=3534627625666125718" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3534627625666125718?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3534627625666125718?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/Pizatr--uW4/install-powershell-20-on-windows-server.html" title="Install Powershell 2.0 on Windows server 2008" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2011/01/install-powershell-20-on-windows-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MHRng7fCp7ImA9Wx9SGE4.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-5280414748933624156</id><published>2010-11-05T13:06:00.000-07:00</published><updated>2010-12-08T10:03:57.604-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T10:03:57.604-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Powershell" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>E-mail notification - Server has less Disk Space - Powershell Script</title><content type="html">&lt;b&gt;Specifications/What does this script do?&lt;/b&gt;&lt;br /&gt;
1. Checks the server's disk space continuously&lt;br /&gt;
2. If the diskspace is lessthan 2GB on any disk on any server it will send an email and goes in sleep mode for 60 minutes, e site &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Schedule it:&lt;/b&gt;&lt;br /&gt;
1. Create a batch file and schedule it to run on one time bases as this script runs continuously and automatically goes to start and sleep mode depending on whether it is able to ping the site.&lt;br /&gt;
&lt;b&gt;THE SCRIPT:&lt;/b&gt;&lt;br /&gt;
do &lt;br /&gt;
{&lt;br /&gt;
# specify the server names in the following array&lt;br /&gt;
$strComputers = @("**","**","**")&lt;br /&gt;
&lt;br /&gt;
$msg1=""&lt;br /&gt;
$flag=1&lt;br /&gt;
&lt;br /&gt;
foreach ($server in $strcomputers) &lt;br /&gt;
{&lt;br /&gt;
 try&lt;br /&gt;
 {&lt;br /&gt;
 $dsk= Get-WmiObject -computername $server Win32_LogicalDisk&lt;br /&gt;
 foreach ( $drive in $dsk )&lt;br /&gt;
 {&lt;br /&gt;
  if(($drive.Name -ieq "C:") -or ($drive.Name -ieq "D:"))&lt;br /&gt;
  {&lt;br /&gt;
  $freespace=[int]($drive.FreeSpace/1073741824)&lt;br /&gt;
  if ($freespace -ilt 2)&lt;br /&gt;
   {&lt;br /&gt;
    $msg1=$msg1+"Server: "+$server+" Drive: "+$drive.Name+" has less than 2 GB disk space!"+"`n"+"`n"&lt;br /&gt;
    $flag=$flag+1&lt;br /&gt;
   }&lt;br /&gt;
  else&lt;br /&gt;
   {&lt;br /&gt;
    $msg1=$msg1&lt;br /&gt;
   } &lt;br /&gt;
  } &lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
   #nothing&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 catch&lt;br /&gt;
 {&lt;br /&gt;
  $msg1=$msg1+"Failure Getting "+ $server+ " DiskSpace Info"+"`n"+"Details:"+"`n"+$($_.Exception)+"`n"+"`n"&lt;br /&gt;
  $flag=$flag+1&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$smtpServer = "********"&lt;br /&gt;
$msg = new-object Net.Mail.MailMessage&lt;br /&gt;
$smtp = new-object Net.Mail.SmtpClient($smtpServer)&lt;br /&gt;
$msg.From = "*********"&lt;br /&gt;
$msg.To.Add("***************")&lt;br /&gt;
$msg.To.Add("***********")&lt;br /&gt;
$msg.Body = $msg1&lt;br /&gt;
if ($flag -igt 1) &lt;br /&gt;
{&lt;br /&gt;
$today=get-date &lt;br /&gt;
$msg.Subject = "Sharepoint Disk Space Alert " + $today &lt;br /&gt;
$smtp.Send($msg) &lt;br /&gt;
Start-Sleep -s 3600&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
$msg.Subject = "The server has enough DiskSpace"&lt;br /&gt;
echo SUCCESS&lt;br /&gt;
Start-Sleep -s 1800&lt;br /&gt;
}&lt;br /&gt;
$response = "Y"&lt;br /&gt;
} #end of DO&lt;br /&gt;
while ($response -eq "Y")&lt;br /&gt;
&lt;b&gt;--End--&lt;/b&gt;&lt;br /&gt;
Enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-5280414748933624156?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XlQzXQCC3XxxNGXDGYNgYlymwjI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XlQzXQCC3XxxNGXDGYNgYlymwjI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XlQzXQCC3XxxNGXDGYNgYlymwjI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XlQzXQCC3XxxNGXDGYNgYlymwjI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/C_R_U7lWgM4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/5280414748933624156/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=5280414748933624156" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5280414748933624156?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5280414748933624156?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/C_R_U7lWgM4/e-mail-notification-server-has-less.html" title="E-mail notification - Server has less Disk Space - Powershell Script" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/11/e-mail-notification-server-has-less.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AHQ3w-cSp7ImA9Wx9SGE4.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-6282614796858285824</id><published>2010-11-05T13:00:00.000-07:00</published><updated>2010-12-08T10:08:52.259-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T10:08:52.259-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Powershell" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>E-mail notification when the site is down - Powershell Script</title><content type="html">&lt;b&gt;Specifications/What does this script do?&lt;/b&gt;&lt;br /&gt;
1. Pings the site specified&lt;br /&gt;
2. If the site is up it will rerun after 10 seconds &lt;br /&gt;
3. if the site is down, sends an email to the specified recipients with the error message, and the disk space and log reports from the associated servers specified.&lt;br /&gt;
4. After sending an email it will not run for next 60 minutes, giving administrators the chance to recover the site &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Prerequisites:&lt;/b&gt;&lt;br /&gt;
1. On the server where you want to run this PowerShell script needs to have PowerShell 1.0 or later installed. &lt;br /&gt;
2. The execution policy needs to be set as ‘remote signed’&lt;br /&gt;
• Right click on the ‘PowerShell’ and select “Run it as an administrator’&lt;br /&gt;
5.  &lt;br /&gt;
• To check the existing execution policy run ‘get-executionpolicy’ command as shown below in the PowerShell console:&lt;br /&gt;
• If you do not get the result ‘RemoteSigned’ run the following command to set the execution policy to ‘RemoteSigned’&lt;br /&gt;
4. The account under which you have logged in to the remote server, needs to be the member of the following groups on the servers which you want to query:&lt;br /&gt;
Wss_wpg, Rdp, Users&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Schedule it:&lt;/b&gt;&lt;br /&gt;
1. Create a batch file and schedule it to run on one time bases as this script runs continuously and automatically goes to start and sleep mode depending on whether it is able to ping teh site.&lt;br /&gt;
THE SCRIPT:&lt;br /&gt;
do {&lt;br /&gt;
function Test-Site {&lt;br /&gt;
    param($URL)&lt;br /&gt;
 Start-Sleep -s 15&lt;br /&gt;
    trap{&lt;br /&gt;
     "Failed. Details: $($_.Exception)"&lt;br /&gt;
  # specify the server names in the following array&lt;br /&gt;
  $strComputers = @("*********","*******","********")&lt;br /&gt;
&lt;br /&gt;
  # specify the log names in the following array&lt;br /&gt;
  $logList = @("application","security","system")&lt;br /&gt;
&lt;br /&gt;
  # following lines determine the new file name to be created&lt;br /&gt;
  $today=get-date -format D&lt;br /&gt;
  $combined=""&lt;br /&gt;
  foreach ($server in $strcomputers) &lt;br /&gt;
  {&lt;br /&gt;
   $combined=$combined+$server+"_"&lt;br /&gt;
  }&lt;br /&gt;
  $filename1="******_Prod_Down_Summary_"+$combined+$today&lt;br /&gt;
  $filename2="******_Prod_Down_Details_"+$combined+$today&lt;br /&gt;
  &lt;br /&gt;
  #the following lines will remove the file if it already exists &lt;br /&gt;
  #Sounds like the Add-Content cmdlet isn't disposing of the file object after it&lt;br /&gt;
  #is done with it.  If it doesn't then the garbage collector will eventually&lt;br /&gt;
  #catch it and finalize it (dispose/close it) whenever it gets around to&lt;br /&gt;
  #running which is non-deterministic. The following line will force the garbage collector to run.&lt;br /&gt;
  Start-Sleep -s 3&lt;br /&gt;
  [GC]::Collect() &lt;br /&gt;
  Start-Sleep -s 3&lt;br /&gt;
  Remove-Item D:\scripts\$filename1.txt -force&lt;br /&gt;
  Remove-Item D:\scripts\$filename2.txt -force&lt;br /&gt;
  &lt;br /&gt;
  # the following line gets the current system date and writes it to the file &lt;br /&gt;
  get-date | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  get-date | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
&lt;br /&gt;
  echo "+++++Servers' Summary+++++"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  echo "**********************************Disk Space Report***************************************"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
&lt;br /&gt;
  foreach ($server in $strcomputers) &lt;br /&gt;
  {&lt;br /&gt;
   echo $server| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   echo ~~~~~~~| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   try&lt;br /&gt;
   {&lt;br /&gt;
   $dsk= Get-WmiObject -computername $server Win32_LogicalDisk&lt;br /&gt;
   $data=foreach ( $drive in $dsk )&lt;br /&gt;
    {&lt;br /&gt;
     if(($drive.Name -ieq "C:") -or ($drive.Name -ieq "D:"))&lt;br /&gt;
     {&lt;br /&gt;
     "Drive = " + $drive.Name +" Size(GB) = " + [int]($drive.Size/1073741824) + " Free Space(GB) = " + [int]($drive.FreeSpace/1073741824)&lt;br /&gt;
     }&lt;br /&gt;
     else&lt;br /&gt;
     {&lt;br /&gt;
      #nothing&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
   $data | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   }&lt;br /&gt;
   catch&lt;br /&gt;
   {&lt;br /&gt;
   "Failure Getting "+ $server+ " DiskSpace Info"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   "Details:"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   $($_.Exception)| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  echo "********************************Log Summary******************************************"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  foreach ($logname in $logList)&lt;br /&gt;
  {&lt;br /&gt;
   echo $logname" log Summary" | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   echo ~~~~~~~~~~~~~~~~~~~~~~ | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
   $newest = 100&lt;br /&gt;
   if ($logname.compareto("application"))&lt;br /&gt;
   #if the comparison is true it will go to else block, that is how powershell comparison works&lt;br /&gt;
   {&lt;br /&gt;
    $newest = 10&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
    $newest = 100&lt;br /&gt;
   }   &lt;br /&gt;
   &lt;br /&gt;
   foreach ($server in $strcomputers) &lt;br /&gt;
   {&lt;br /&gt;
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
    $Lap = Get-EventLog -computername $server -LogName $logname –newest $newest &lt;br /&gt;
    $Lap|where {$_.entryType -match "Error"}|Sort-Object eventid|group-object eventid|Format-Table Name, Count -auto|fl|out-string|Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
    }&lt;br /&gt;
    catch&lt;br /&gt;
    {&lt;br /&gt;
    "Details:"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
    $($_.Exception)| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
  echo "************************************Log Details********************************"| Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
  foreach ($logname in $logList)&lt;br /&gt;
  {&lt;br /&gt;
   echo $logname | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
   echo ======== | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
   $newest1 = 100&lt;br /&gt;
   if ($logname.compareto("application"))&lt;br /&gt;
   #if the comparison is true it will go to else block, that is how powershell comparison works&lt;br /&gt;
   {&lt;br /&gt;
    $newest1 = 10&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
    $newest1 = 100&lt;br /&gt;
   }   &lt;br /&gt;
   foreach ($server in $strcomputers) &lt;br /&gt;
   {&lt;br /&gt;
    echo "$server ~ $newest1 entries were checked" | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
    $LapD = Get-EventLog -computername $server -LogName $logname –newest $newest1 &lt;br /&gt;
    $LapD | where {$_.entryType -match "Error"} | Sort-Object eventid | fl | out-string | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
    }&lt;br /&gt;
    catch&lt;br /&gt;
    {&lt;br /&gt;
    "Details:"| Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
    $($_.Exception)| Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
  echo "Please check the other attachment for log details" | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  echo "********************END of Summary*******************************" | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  echo "********************END of Details*******************************" | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
  $filename1 = "D:\scripts\$filename1.txt"&lt;br /&gt;
  $filename2 = "D:\scripts\$filename2.txt"&lt;br /&gt;
  $smtpServer = "*********"&lt;br /&gt;
  $msg = new-object Net.Mail.MailMessage&lt;br /&gt;
  $att1 = new-object Net.Mail.Attachment($filename1)&lt;br /&gt;
  $att2 = new-object Net.Mail.Attachment($filename2)&lt;br /&gt;
  $smtp = new-object Net.Mail.SmtpClient($smtpServer)&lt;br /&gt;
  $msg.From = "************"&lt;br /&gt;
  $msg.To.Add("************")&lt;br /&gt;
  # You can add multiple recipients  &lt;br /&gt;
  $msg.To.Add("*************")&lt;br /&gt;
  # $msg.To.Add("**********")&lt;br /&gt;
  $msg.Subject = "********* Production is Down"&lt;br /&gt;
  $msg.Body = "Details: $($_.Exception). For more information see the attached report."&lt;br /&gt;
  $msg.Attachments.Add($att1)&lt;br /&gt;
  $msg.Attachments.Add($att2)&lt;br /&gt;
  $smtp.Send($msg)&lt;br /&gt;
  # if the ping is UNsuccessful the following line will pause the script for n seconds, so that we donot get multiple emails&lt;br /&gt;
  Start-Sleep -s 3600&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    $webclient = New-Object Net.WebClient&lt;br /&gt;
    # The next 5 lines are required as our network has a proxy server&lt;br /&gt;
    $webclient.Credentials = [System.Net.CredentialCache]::DefaultCredentials&lt;br /&gt;
    if($webclient.Proxy -ne $null)     {&lt;br /&gt;
        $webclient.Proxy.Credentials = `&lt;br /&gt;
                [System.Net.CredentialCache]::DefaultNetworkCredentials&lt;br /&gt;
    }&lt;br /&gt;
    # This is the main call&lt;br /&gt;
    $webclient.DownloadString($URL) | Out-Null&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
Test-Site "http://************/Pages/default.aspx"&lt;br /&gt;
$response = "Y"&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
while ($response -eq "Y")&lt;br /&gt;
&lt;br /&gt;
--End--&lt;br /&gt;
&lt;br /&gt;
Enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-6282614796858285824?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YH8Uyh7qXQCXKJSp47u3nBg-SJY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YH8Uyh7qXQCXKJSp47u3nBg-SJY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YH8Uyh7qXQCXKJSp47u3nBg-SJY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YH8Uyh7qXQCXKJSp47u3nBg-SJY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/-oeZ44Jl4LY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/6282614796858285824/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=6282614796858285824" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/6282614796858285824?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/6282614796858285824?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/-oeZ44Jl4LY/e-mail-notification-when-site-is-down.html" title="E-mail notification when the site is down - Powershell Script" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/11/e-mail-notification-when-site-is-down.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMNQX48cSp7ImA9Wx9SGE4.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-6959010874564697719</id><published>2010-10-19T13:14:00.000-07:00</published><updated>2010-12-08T10:21:30.079-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T10:21:30.079-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Powershell" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>Windows Logs + Errors Within last 24 Hours + Powershell + Schedule a Powershell Script + Send an email using Powershell</title><content type="html">Make sure you run the following command:&lt;br /&gt;
Set-executionpolicy remotesigned on powershell before dive further into this blog.&lt;br /&gt;
Here is the Powershell script. I call it pshell_FINAL.ps1&lt;br /&gt;
#=====================Start==============&lt;br /&gt;
#remotely checks the diskpace and event log errors for the specified servers and sends the report&lt;br /&gt;
#The account which runs this script needs to be the member of the following groups on the specified servers:&lt;br /&gt;
#Wss_wpg, Rdp, Users&lt;br /&gt;
#The script does not stop running if it encounnters any issue for any server, it writes the exception message in the report&lt;br /&gt;
&lt;br /&gt;
# specify the server names in the following array&lt;br /&gt;
$strComputers = @("********","********","*******")&lt;br /&gt;
&lt;br /&gt;
# specify the log names in the following array&lt;br /&gt;
$logList = @("application","security","system")&lt;br /&gt;
&lt;br /&gt;
# following lines determines the new file name to be created and the old file name to be deleted&lt;br /&gt;
$today=get-date -Format D&lt;br /&gt;
$todaysubject=get-date&lt;br /&gt;
$combined=""&lt;br /&gt;
foreach ($server in $strcomputers) &lt;br /&gt;
{&lt;br /&gt;
 $combined=$combined+$server+"_"&lt;br /&gt;
}&lt;br /&gt;
$yesterday=get-date (get-date).adddays(-1) -Format D &lt;br /&gt;
$oldfilename1="SP_Morning_Report_Summary_"+$combined+$yesterday&lt;br /&gt;
$oldfilename2="SP_Morning_Report_Details_"+$combined+$yesterday&lt;br /&gt;
Remove-Item D:\scripts\$oldfilename1.txt&lt;br /&gt;
Remove-Item D:\scripts\$oldfilename2.txt&lt;br /&gt;
$filename1="SP_Morning_Report_Summary_"+$combined+$today&lt;br /&gt;
$filename2="SP_Morning_Report_Details_"+$combined+$today&lt;br /&gt;
&lt;br /&gt;
# the following line gets the current system date and writes it to the file &lt;br /&gt;
get-date | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
get-date | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
&lt;br /&gt;
echo "+++++Servers' Summary+++++"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
echo "**********************************Disk Space Report***************************************"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
&lt;br /&gt;
foreach ($server in $strcomputers) &lt;br /&gt;
{&lt;br /&gt;
 echo $server| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 echo ~~~~~~~| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 try&lt;br /&gt;
 {&lt;br /&gt;
 $dsk= Get-WmiObject -computername $server Win32_LogicalDisk&lt;br /&gt;
 $data=foreach ( $drive in $dsk )&lt;br /&gt;
  {&lt;br /&gt;
  if(($drive.Name -ieq "C:") -or ($drive.Name -ieq "D:"))&lt;br /&gt;
  {&lt;br /&gt;
   "Drive = " + $drive.Name +" Free Space(GB) = " + [int]($drive.FreeSpace/1073741824) +" /Total Size(GB) = " + [int]($drive.Size/1073741824)&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
   #nothing&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
 $data | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 }&lt;br /&gt;
 catch&lt;br /&gt;
 {&lt;br /&gt;
 "Failure Getting "+ $server+ " DiskSpace Info"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 "Details:"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 $($_.Exception)| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo "********************************Log Summary******************************************"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
foreach ($logname in $logList)&lt;br /&gt;
{&lt;br /&gt;
 echo $logname" log Summary" | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 echo ~~~~~~~~~~~~~~~~~~~~~~ | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
 $newest = 100&lt;br /&gt;
 if ($logname.compareto("application"))&lt;br /&gt;
 #if the comparison is true it will go to else block, that is how powershell comparison works&lt;br /&gt;
 {&lt;br /&gt;
  $newest = 100&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
  $newest = 1000&lt;br /&gt;
 }   &lt;br /&gt;
 foreach ($server in $strcomputers) &lt;br /&gt;
 {&lt;br /&gt;
  echo $server | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  try&lt;br /&gt;
  {&lt;br /&gt;
  $Lap = Get-EventLog -computername $server -LogName $logname –newest $newest &lt;br /&gt;
  $Lap|where {$_.entryType -match "Error"}|Sort-Object eventid|group-object eventid|Format-Table Name, Count -auto|fl|out-string|Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  }&lt;br /&gt;
  catch&lt;br /&gt;
  {&lt;br /&gt;
  "Details:"| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  $($_.Exception)| Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
echo "************************************Log Details********************************"| Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
foreach ($logname in $logList)&lt;br /&gt;
{&lt;br /&gt;
 echo $logname | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
 echo ======== | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
 $newest1 = 100&lt;br /&gt;
 if ($logname.compareto("application"))&lt;br /&gt;
 #if the comparison is true it will go to else block, that is how powershell comparison works&lt;br /&gt;
 {&lt;br /&gt;
  $newest1 = 100&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
  $newest1 = 1000&lt;br /&gt;
 }   &lt;br /&gt;
 foreach ($server in $strcomputers) &lt;br /&gt;
 {&lt;br /&gt;
  echo "$server ~ $newest1 entries were checked" | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
  echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
  try&lt;br /&gt;
  {&lt;br /&gt;
  $LapD = Get-EventLog -computername $server -LogName $logname –newest $newest1 &lt;br /&gt;
  $LapD | where {$_.entryType -match "Error"} | Sort-Object eventid | fl | out-string | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
  }&lt;br /&gt;
  catch&lt;br /&gt;
  {&lt;br /&gt;
  "Details:"| Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
  $($_.Exception)| Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
echo "Please check another attachment for log details." | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
echo "********************END of Summary*******************************" | Add-Content D:\scripts\$filename1.txt&lt;br /&gt;
echo "********************END of Details*******************************" | Add-Content D:\scripts\$filename2.txt&lt;br /&gt;
$filenameatt1 = "D:\scripts\$filename1.txt"&lt;br /&gt;
$filenameatt2 = "D:\scripts\$filename2.txt"&lt;br /&gt;
$smtpServer = "**********"&lt;br /&gt;
$msg = new-object Net.Mail.MailMessage&lt;br /&gt;
$att1 = new-object Net.Mail.Attachment($filenameatt1)&lt;br /&gt;
$att2 = new-object Net.Mail.Attachment($filenameatt2)&lt;br /&gt;
$smtp = new-object Net.Mail.SmtpClient($smtpServer)&lt;br /&gt;
$msg.From = "************"&lt;br /&gt;
$msg.To.Add("************")&lt;br /&gt;
# You can add multiple recipients  &lt;br /&gt;
$msg.To.Add("*************")&lt;br /&gt;
# $msg.To.Add("*****************")&lt;br /&gt;
$msg.Subject = "Sharepoint Morning Report "+$todaysubject&lt;br /&gt;
$msg.Body = "Please see the attached report."&lt;br /&gt;
$msg.Attachments.Add($att1)&lt;br /&gt;
$msg.Attachments.Add($att2)&lt;br /&gt;
$smtp.Send($msg)&lt;br /&gt;
&lt;br /&gt;
=============================END==================&lt;br /&gt;
Modifications:&lt;br /&gt;
Report on any other server:&lt;br /&gt;
1. Search for the comment ‘# specify the server names in the following array’&lt;br /&gt;
3. Change the server names&lt;br /&gt;
Other modifications:&lt;br /&gt;
All the lines in the script have been explained in the comment line above the script. It is easy to modify: servers’ names, log names, number of logs to check, sender and receivers’ email addresses.&lt;br /&gt;
&lt;br /&gt;
Enjoy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-6959010874564697719?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-N9bFwjm6TVe354PQn5BXN5gOE0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-N9bFwjm6TVe354PQn5BXN5gOE0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-N9bFwjm6TVe354PQn5BXN5gOE0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-N9bFwjm6TVe354PQn5BXN5gOE0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/wJHmgTLO1v0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/6959010874564697719/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=6959010874564697719" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/6959010874564697719?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/6959010874564697719?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/wJHmgTLO1v0/windows-logs-errors-within-last-24.html" title="Windows Logs + Errors Within last 24 Hours + Powershell + Schedule a Powershell Script + Send an email using Powershell" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/10/windows-logs-errors-within-last-24.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMCQnY6eCp7ImA9Wx5UFUw.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-737926207452103125</id><published>2010-10-07T11:42:00.000-07:00</published><updated>2010-10-19T13:01:03.810-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-19T13:01:03.810-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>Preupgradecheck FeatureInfo...Failed</title><content type="html">&lt;meta content="Microsoft Word 12" name="Generator"&gt;&lt;/meta&gt;&lt;meta content="Microsoft Word 12" name="Originator"&gt;&lt;/meta&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Cwshahd%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Cwshahd%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"&gt;&lt;/link&gt;&lt;link href="file:///C:%5CDOCUME%7E1%5Cwshahd%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"&gt;&lt;/link&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	mso-themecolor:hyperlink;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:purple;
	mso-themecolor:followedhyperlink;
	text-decoration:underline;
	text-underline:single;}
p
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.WordSection1
	{page:WordSection1;}
 /* List Definitions */
 @list l0
	{mso-list-id:46419462;
	mso-list-type:hybrid;
	mso-list-template-ids:-298827684 67698711 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1
	{mso-list-id:84426276;
	mso-list-type:hybrid;
	mso-list-template-ids:1192802800 67698711 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bott
&lt;/style&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;If you run the ‘stsadm –o preupgradecheck’ on SP07 environment you may encounter the following message:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;

&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;FeatureInfo… Failed&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;What you should do in this case?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;b&gt;Get the list of missing features and related content databases&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;a)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Get the list of missing features from preupgradecheck.htm file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;b)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Open preupgradecheck.log from 12/logs. Search for the feature IDs which are missing according to report. Doing so will give the content database name which references to these missing feature. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;[FeatureInfo] [DEBUG] [10/6/2010 10:52:18 AM]: Found 2 webs using missing feature definition &lt;b&gt;e2660694-9026-460b-8515-69ca06ecd4d8&lt;/b&gt; in content database &lt;b&gt;WSS_Content&lt;/b&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;So now you have the list of missing features and the names of the content databases referring to these features.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2) Install standard/recommended/third-party&amp;nbsp;features&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;a)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Check the standard features list at following two locations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.thorprojects.com/blog/archive/2007/05/16/list-of-features-with-guids.aspx"&gt;http://www.thorprojects.com/blog/archive/2007/05/16/list-of-features-with-guids.aspx&lt;/a&gt; and &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=238"&gt;http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=238&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt 0.5in; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;If any features belong to that list, install it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2. 1 Features already exists on the server&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;To install we need to have the path for the feature.xml file &amp;gt; we already have the ids of the features so we need to search the features folder with the help of Ids and this search will be ‘text within the file’ search &amp;gt; on windows server 2008 we need to use the advanced search so that we can search the text from a file &amp;gt; on windows server 2008 box click on search tools &amp;gt;click on search tab &amp;gt;select the option to search the content of the file &amp;gt; then search for specific id and it should return the feature.xml file&amp;gt; Our Windows 08 boxes did not returned the search result so what I did is copied the features folder to my desk which is running windows Xp and then did search feature.xml file which has the feature ids &lt;/span&gt;&lt;span style="font-family: Symbol;"&gt;à&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; now we do have the name of the feature and its location so we need to install this feature using the following command: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;stsadm -o installfeature -filename "Featurename\feature.xml&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;" –force &amp;gt; make sure you provide the relative path or else you will get an error&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.2 Features do not exist on the server&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There can be few feature ids for which you do not find the folder or the feature.xml file &amp;gt; If these features belongs to the standard list of MOSS07 features, get them from web&amp;gt; place them in features folder of your moss servers and using the above stated command install it. (Make sure you run IIS reset after running each of the command mentioned.) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3) WSSANALYZER &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;-we need to find out that which webapp is referencing the missing features for that use this tool: &lt;a href="http://code.msdn.microsoft.com/WssRemoveFeatureFrom"&gt;wssanalyzer&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;-you need to download this tool to the server. Let's say you place it in C: and give the folder name to wssanalyzer. On command prompt first u need to navigate to the C:/wssanalyzer in order to run wssanalyzefeatures command. Run the command foreach webapp, make sure you specify the correct url which displays in webapplist in CA or else you will run into errors. Once you run this it will give you 0 errors report if not it will return a text doc which mentions the feature references which are missing -&amp;gt; once you have 0 references to this feature for all the webapps we ned to deactivate and then uninstall feature with particular Id using following commands:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;stsadm -o deactivatefeature -id ******** -url http://webappurl:port/ -force&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;-run the above command for each webapp &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;after that, uninstall it from the farm using the following command:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;stsadm -o uninstallfeature -id ****** –force&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4) Remove unnecessary webapps&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; and their content databases which will also help to reduce no of reference counts toward the missing features &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Run the preupgardecheck you should not rcv the feature info/…. Failed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;References:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span class="MsoHyperlink"&gt;&lt;a href="http://code.msdn.microsoft.com/WssAnalyzeFeatures"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;http://code.msdn.microsoft.com/WssAnalyzeFeatures&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://code.msdn.microsoft.com/WssRemoveFeatureFrom"&gt;http://code.msdn.microsoft.com/WssRemoveFeatureFrom&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=371"&gt;http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=371&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.gilham.org/Blog/Lists/Posts/Post.aspx?ID=229"&gt;http://www.gilham.org/Blog/Lists/Posts/Post.aspx?ID=229&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=238"&gt;http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&amp;amp;ID=238&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin: 0in 0in 0.0001pt; text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.thorprojects.com/blog/archive/2007/05/16/list-of-features-with-guids.aspx"&gt;http://www.thorprojects.com/blog/archive/2007/05/16/list-of-features-with-guids.aspx&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0in; text-align: justify;"&gt;&lt;/div&gt;&lt;div style="margin-top: 0in; text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;--END--&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-737926207452103125?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OsFL50RDxJIeLpcROqJYSldwz-E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OsFL50RDxJIeLpcROqJYSldwz-E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OsFL50RDxJIeLpcROqJYSldwz-E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OsFL50RDxJIeLpcROqJYSldwz-E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/1v3mjgP_ZrA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/737926207452103125/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=737926207452103125" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/737926207452103125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/737926207452103125?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/1v3mjgP_ZrA/preupgradecheck-featureinfofailed.html" title="Preupgradecheck FeatureInfo...Failed" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/10/preupgradecheck-featureinfofailed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QMSXwzfip7ImA9Wx5WEks.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-8390296764411494718</id><published>2010-09-23T07:53:00.001-07:00</published><updated>2010-09-23T10:03:08.286-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-23T10:03:08.286-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><title>Installing a CU to Multi Server MOSS 2007 Farm, (Best Practice Sequence)</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; You have 2 Webfront end and 1 application server. App server hosts CA. &lt;br /&gt;
&lt;b&gt;Remember:&lt;/b&gt;&lt;br /&gt;
moss patches and CUs need to be applied only on WFEs and APp servers and not on DB servers. However the cu will change the Db to a newer version of a Db.&lt;br /&gt;
&lt;b&gt;Procedure:&lt;/b&gt;&lt;br /&gt;
1. DBA – to take the backup of a DB (335GBs), name it as 'olderversion.Db'&lt;br /&gt;
2. DBA – to defragment SP databases&lt;br /&gt;
3. Devel – to take the backup of all customized files &lt;br /&gt;
4. Take both servers off from NLB make sure they are not accessible&lt;br /&gt;
5. Loginto all servers one by one and stop w3svc&lt;br /&gt;
6. Make all software update files available on all servers in your server farm.&lt;br /&gt;
7. Make sure no update related timer jobs are running on any of the servers&lt;br /&gt;
8. Make sure there is enough disk space on all the servers&lt;br /&gt;
9. AppServer: Extract wss package with correct password and install it, Do not run Sp products and technology wizard&lt;br /&gt;
10. WFE1: Extract wss package with correct password and install it, Do not run Sp products and technology wizard&lt;br /&gt;
11. WFE2: Extract wss package with correct password and install it, Do not run Sp products and technology wizard&lt;br /&gt;
12. AppServer: Extract MOSS package with correct password and install it, Do not run Sp products and technology wizard&lt;br /&gt;
13. WFE1: Extract MOSS package with correct password and install it, Do not run Sp products and technology wizard&lt;br /&gt;
14. WFE2: Extract MOSS package with correct password and install it, Do not run Sp products and technology wizard&lt;br /&gt;
15. AppServer: Start product and technologies wizard.&lt;br /&gt;
If the wizard does not start automatically, click Start, point to All Programs, point to Administrative Tools, and then click SharePoint Products and Technologies Configuration Wizard.&lt;br /&gt;
• On the SharePoint Products and Technologies Configuration Wizard Welcome page, click Next.&lt;br /&gt;
• In the dialog box that notifies you that some services might have to be restarted during configuration, click Yes.&lt;br /&gt;
• On the Completing the SharePoint Products and Technologies Configuration Wizard page, click Next.&lt;br /&gt;
• When the dialog box about installation in a server farm opens, do not click OK. Instead, leave server with the following dialog box displayed:&lt;br /&gt;
• "You must run Setup to install new binary files for every server in your server farm." (&lt;a href="http://technet.microsoft.com/en-us/library/cc263467%28office.12%29.aspx"&gt;Ref: http://technet.microsoft.com/en-us/library/cc263467%28office.12%29.aspx&lt;/a&gt;)&lt;br /&gt;
16. WFE1: repeat step 15 &lt;br /&gt;
17. WFE2: repeat step 15&lt;br /&gt;
18. AppServer: click Ok on-the message: &lt;br /&gt;
"You must run Setup to install new binary files for every server in your server farm."&lt;br /&gt;
and let the installation finish&lt;br /&gt;
19. WFE1: repeat step 18 &lt;br /&gt;
20. WFE2: repeat step 18 &lt;br /&gt;
21. reboot the servers if prompted&lt;br /&gt;
22. Search for upgrade.log file and search for success, warnings and error words. &lt;br /&gt;
23. Note down the new version Number&lt;br /&gt;
24. Copy the upgradefile rename it and save it to some other location&lt;br /&gt;
25. Start w3svc services on servers&lt;br /&gt;
26. DBA - Take the backup of the DB&lt;br /&gt;
27. Devel - restore customizations &lt;br /&gt;
28. Make the servers available thru NLB &lt;br /&gt;
I hope this helps someone to determine the correct sequence and correct order of installation. &lt;br /&gt;
Enjoy.......!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-8390296764411494718?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UuF_l1Mvup7XQ2aDmZb82Mt-hFs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UuF_l1Mvup7XQ2aDmZb82Mt-hFs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UuF_l1Mvup7XQ2aDmZb82Mt-hFs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UuF_l1Mvup7XQ2aDmZb82Mt-hFs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/Myufr41NWTw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/8390296764411494718/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=8390296764411494718" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8390296764411494718?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8390296764411494718?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/Myufr41NWTw/installing-cu-to-multi-server-moss-2007.html" title="Installing a CU to Multi Server MOSS 2007 Farm, (Best Practice Sequence)" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/09/installing-cu-to-multi-server-moss-2007.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8GR3k7eCp7ImA9Wx5XGUQ.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-8283315005619797888</id><published>2010-09-20T08:00:00.000-07:00</published><updated>2010-09-20T08:00:26.700-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-20T08:00:26.700-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><title>unable to run security reort using MBSA for MOSS Farm</title><content type="html">In MOSSRAP I mentioned about the MBSA (Microsoft Baseline Security Analyzer)which can give us the report regarding our moss farm. This report contains the scorecard and shows high risk, medium risk and low risk items, However recently I was unable to run the report if I check mark any of the following options:&lt;br /&gt;
-Check for security updates  &lt;br /&gt;
-Configure computers for Microsoft Update and scanning prerequisites  &lt;br /&gt;
-Advanced Update Services options:  &lt;br /&gt;
-Scan using assigned Windows Server Update Services(WSUS) servers only  &lt;br /&gt;
-Scan using Microsoft Update only  &lt;br /&gt;
I used to get the following error message:&lt;br /&gt;
&lt;b&gt;Unable to scan all computers &lt;br /&gt;
The catalog file is damaged or an invalid catalog. &lt;/b&gt;&lt;br /&gt;
I found out that the automatic updates for the servers were turned off by the sysadmins. In order to run the security reports through MBSA this automatic updates should be turned on and the boxes must be connected with the internet. It is necessary for MBSA to connect to internet world and get to know the latest updates released by the Microsoft and then compare what it finds on the box and let us know about the missing ones. &lt;br /&gt;
It is really very useful tool and I recommend Admins to use it once a month at-least to asses the health of the Moss farm &lt;br /&gt;
Enjoy....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-8283315005619797888?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lW3ZSV7q_HA5qwzdy1oNCKOOP8g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lW3ZSV7q_HA5qwzdy1oNCKOOP8g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lW3ZSV7q_HA5qwzdy1oNCKOOP8g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lW3ZSV7q_HA5qwzdy1oNCKOOP8g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/ggvOaPy9jQ4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/8283315005619797888/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=8283315005619797888" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8283315005619797888?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8283315005619797888?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/ggvOaPy9jQ4/unable-to-run-security-reort-using-mbsa.html" title="unable to run security reort using MBSA for MOSS Farm" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/09/unable-to-run-security-reort-using-mbsa.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMBSHo7fip7ImA9Wx5XGUQ.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-3423658872518023478</id><published>2010-09-20T07:37:00.000-07:00</published><updated>2010-09-20T07:37:39.406-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-20T07:37:39.406-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><title>Email Distribution Group in SharePoint</title><content type="html">&lt;b&gt;Requirement:&lt;/b&gt; need to have a group in sharepoint with the email address group@domain.com. This group will have multiple users and their email addresses are u1@domain.com, u2@domain.com etc. When any one send an email to group@domain.com the users of this group will get an email. Also, the emails should be archived in a list. &lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt; &lt;br /&gt;
1. create an OU in AD and delegate full control to SP service account. If you already have the incoming and outgoing mail setup for your moss server you may already have the OU created. make sure you have the OU name ready. &lt;br /&gt;
2. Configure Incoming Email settings: &lt;br /&gt;
CA&gt;operations&gt;Incoming E-Mail Settings&gt;Enable sites on this server to receive e-mail? yes&gt;Settings mode: Automatic &gt;Use the SharePoint Directory Management Service to create distribution groups and contacts? yes &gt;Active Directory container where new distribution groups and contacts will be created: For example, OU=ContainerName, DC=domain, DC=com &gt;SMTP mail server for incoming mail: domain.com &gt; Accept messages from authenticated users only? NO &gt; Allow creation of distribution groups from SharePoint sites? yes&gt;Distribution group request approval settings : check mark all 4 options&gt; E-mail server display address: "mylist@" domain.com &gt; select 'Accept mail from all e-mail servers ' &gt; OK &lt;br /&gt;
3. on SP site create a new group with full control permission&lt;br /&gt;
on SP site&gt;SA&gt;SS&gt;PNG&gt;new&gt;new group&gt;Create an e-mail distribution group for this group? yes&gt;Distribution list e-mail address: listname@domain.com&gt;under 'Archive mail sent to this group:' select 'Archive mail to a new list'&gt; List name : "Give a listname as you like"&lt;br /&gt;
navigate to the list page and you will see:&lt;br /&gt;
Group E-Mail Address:  GroupName@domain.com  &lt;br /&gt;
Group E-Mail Archive:  ListName (0 Item(s))  &lt;br /&gt;
4. on group page&gt;settings&gt;group settings&gt;incoming email settings&gt;accept emails from any sender&lt;br /&gt;
5. Approve the distribution group in CA &lt;br /&gt;
CA&gt;OP&gt;Approve/reject distribution groups &gt; change the view to Create Requests&gt;you will see your distribution group name and the associated email address&gt;approve that group&gt; this will create an entry in OU in AD. To check that on the computer click on start&gt;administrative tools&gt;active directory users and computers&gt; check and see the email address will be there. If its is not there then you may not have the write permission on AD. &lt;br /&gt;
Now, send an email to the group email address and it will forward the same to the group members.&lt;br /&gt;
*CA - Central Admin&lt;br /&gt;
SA - Site Actions&lt;br /&gt;
SS - Site Settings&lt;br /&gt;
PnG - People and Groups&lt;br /&gt;
OP - operations&lt;br /&gt;
SP - SharePoint&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-3423658872518023478?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ulFZJobbzTupwU4Sl2dDmnXsDMA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ulFZJobbzTupwU4Sl2dDmnXsDMA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ulFZJobbzTupwU4Sl2dDmnXsDMA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ulFZJobbzTupwU4Sl2dDmnXsDMA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/zk8qW88-l6c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/3423658872518023478/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=3423658872518023478" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3423658872518023478?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3423658872518023478?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/zk8qW88-l6c/email-distribution-group-in-sharepoint.html" title="Email Distribution Group in SharePoint" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/09/email-distribution-group-in-sharepoint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MBRn88eyp7ImA9Wx5RF04.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-3043809893880021662</id><published>2010-08-25T05:30:00.000-07:00</published><updated>2010-08-25T05:30:57.173-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-25T05:30:57.173-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><title>Setup the Audit Logs on MOSS'07 Site  - Solutions and Workarounds to Issues and Errors</title><content type="html">For any of the following errors:&lt;br /&gt;
&lt;strong&gt;The specified web does not contain a reporting metadata list. &lt;/strong&gt;or&lt;br /&gt;
&lt;strong&gt;The template could not be found for the specified report &lt;/strong&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;Do the following:&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
1)Go to command prompt and type the following command:&lt;br /&gt;
"cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"&lt;br /&gt;
2)and than &lt;br /&gt;
"stsadm -o activatefeature -name Reporting -url http://servername:port/sitecollection/ -force"&lt;br /&gt;
3)you will receive the following message:&lt;br /&gt;
Operation completed Successfully&lt;br /&gt;
4)do "IISreset"&lt;br /&gt;
5)open sitecollection--&gt;siteactions--&gt;modify all site settings--&gt;site collection features--&gt;deactivate reporting feature&lt;br /&gt;
6)you will receive the warning message&lt;br /&gt;
7)click on deactivate.&lt;br /&gt;
**8)repeat steps 1) to 4) very very imp step if u miss it the error will still persist**&lt;br /&gt;
everything will works fine now...&lt;br /&gt;
if you click on the report and you receive the following error:&lt;br /&gt;
&lt;strong&gt;"Report contains no data."&lt;/strong&gt;&lt;br /&gt;
do the following:&lt;br /&gt;
site actions-&gt; site settings-&gt;site collection administration-&gt;site collection audit log setting-&gt;&lt;br /&gt;
enable all options which are required for you.&lt;br /&gt;
&lt;span style="font-weight:bold;"&gt;One more error:&lt;/span&gt;&lt;br /&gt;
when you click on the audit log report it will give 'HTTP 403 forbidden error: website can not display this webpage'&lt;br /&gt;
&lt;span style="font-weight:bold;"&gt;solution:&lt;/span&gt; add the user to the site collection's administration group.&lt;br /&gt;
[to add the user as a site collection administrator:7. Site actions-&gt;site settings-&gt;Modify all site settings-&gt;site collection administrators-&gt;add users here. You can add any user windows based, forms based etc, if they are site collection admin, they will be able to access the audit log]&lt;br /&gt;
** For all the reports you want to see make sure you do some activity in order to get the report since you have implemented the audit log, otherwise you will strill be getting "report contains no data" error.&lt;br /&gt;
------------------------&lt;br /&gt;
when you try to open ‘Expiration and disposition’ &amp; ‘Policy modifications’ from  'Information management policy reports' section you will receive the same error:"Report contains no data."&lt;br /&gt;
&lt;span style="font-weight:bold;"&gt;Reason:&lt;/span&gt; &lt;br /&gt;
because, we did not created any custom policy for any document or report library. Expiration and disposition is also a part of the policy.&lt;br /&gt;
&lt;span style="font-weight:bold;"&gt;solution:&lt;/span&gt; Open any document or report library. Settings--&gt;modify list settings--&gt;Information Management Policies--&gt;create  anew policy--&gt; give name: 'Policy 1'--&gt;select 'enable auditing'--&gt;select 'expiration'--&gt; select appropriate options for both the above options.&lt;br /&gt;
Now, try to open both the above stated reports again, they will open. &lt;br /&gt;
&lt;b&gt;** Audit log reports are being opened as XML files in IE instead of XLS or XLSX&lt;/b&gt;&lt;br /&gt;
When you run any reports of audit logs from site settings--&gt;modify all site settings--&gt;site collection administration , a pop up will open which asks for Open or save options. Depending on the IE settings on the client machine no pop up appears sometimes and the XML file is opened in browser itself rather than asking for saving that file. &lt;br /&gt;
&lt;b&gt;*Workaround:&lt;/b&gt; When the file opens as XML in browser click on file--&gt; save as and save the file with default name and extension. After saving the file, double click on it and it will open in excel. &lt;br /&gt;
Enjoy....!!!!  &lt;br /&gt;
Enjoy......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-3043809893880021662?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dLN9nh4ySir5Sp6ha-hzSJ2nVhY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dLN9nh4ySir5Sp6ha-hzSJ2nVhY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dLN9nh4ySir5Sp6ha-hzSJ2nVhY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dLN9nh4ySir5Sp6ha-hzSJ2nVhY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/F8Q8kRY6Lbs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/3043809893880021662/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=3043809893880021662" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3043809893880021662?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3043809893880021662?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/F8Q8kRY6Lbs/setup-audit-logs-on-moss07-site.html" title="Setup the Audit Logs on MOSS'07 Site  - Solutions and Workarounds to Issues and Errors" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/08/setup-audit-logs-on-moss07-site.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cAQnw4eCp7ImA9Wx5SEE4.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-7329647279292323363</id><published>2010-08-05T10:53:00.000-07:00</published><updated>2010-08-05T10:57:23.230-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-05T10:57:23.230-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>Useful Third Party Tools for SharePoint</title><content type="html">1)SharePrep - Sharepoint by default will not allow you to upload any files which has special characters in it [~~!@#$%^{}-] etc., This utility helps to correct the file names (replaces it with _) for successful upload.&lt;br /&gt;
&lt;a href="http://www.purgeie.com/shareprep/"&gt;SharePrep Utility Home&lt;/a&gt; &lt;br /&gt;
2)Control point from Axceler&lt;br /&gt;
3)Metalogix Migration Manager&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-7329647279292323363?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EhmUNBNczL5mn4nIiskkDHAsJSE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EhmUNBNczL5mn4nIiskkDHAsJSE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EhmUNBNczL5mn4nIiskkDHAsJSE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EhmUNBNczL5mn4nIiskkDHAsJSE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/DKsEgT2nfSA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/7329647279292323363/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=7329647279292323363" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/7329647279292323363?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/7329647279292323363?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/DKsEgT2nfSA/useful-third-party-tools-for-sharepoint.html" title="Useful Third Party Tools for SharePoint" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/08/useful-third-party-tools-for-sharepoint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EEQ3w9fip7ImA9WhdTF0k.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-1657029840322149785</id><published>2010-06-24T07:33:00.000-07:00</published><updated>2011-07-15T09:00:02.266-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-15T09:00:02.266-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>Pie Chart for SP list : NO code solution</title><content type="html">&lt;b&gt;scenario:&lt;/b&gt; you have the Issue list with on hold, active and waiting status. You want to display it using the pie chart.&lt;br /&gt;
&lt;b&gt;solution:&lt;/b&gt;&lt;br /&gt;
1) go to the list page--&amp;gt; modify this view--&amp;gt;expand group by--&amp;gt;under '&lt;label for="idGroupField1"&gt;First group by the column&lt;/label&gt;:' select 'Issue Status' --&amp;gt;ok--&amp;gt;come back to the list page--&amp;gt;edit page--&amp;gt;add a new webpart--&amp;gt;content editor webpart--&amp;gt;click on source editor--&amp;gt;type the following code:&lt;br /&gt;
=========&lt;br /&gt;
&amp;lt;div id="jLoadMe" class="content"&amp;gt;&amp;lt;strong&amp;gt;Pie Chart Using Google Charting API&amp;lt;/strong&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;
if(typeof jQuery=="undefined"){&lt;br /&gt;
var jQPath="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/";&lt;br /&gt;
document.write("&amp;lt;script src='",jQPath,"jquery.js' type='text/javascript'&amp;gt;&amp;lt;\/script&amp;gt;");&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&lt;br /&gt;
type="text/javascript"&amp;gt;&lt;br /&gt;
$("document").ready(function(){&lt;br /&gt;
var arrayList=$("td.ms-gb:contains(':')");&lt;br /&gt;
var coord= new Array();&lt;br /&gt;
var labels= new Array();&lt;br /&gt;
$.each(arrayList, function(i,e)&lt;br /&gt;
{&lt;br /&gt;
var MyIf= $(e).text();&lt;br /&gt;
var txt= MyIf.substring(MyIf.indexOf('(')+1,MyIf.length-1); // Extract the 'Y' coordinates&lt;br /&gt;
coord[i]=txt;&lt;br /&gt;
var txt1= MyIf.substring(MyIf.indexOf(':')+2,MyIf.indexOf("(")-1); // Extract the labels&lt;br /&gt;
labels[i]=txt1+"("+txt+")";   //add also coordinates for better read&lt;br /&gt;
});&lt;br /&gt;
var txt= coord.join(",");&lt;br /&gt;
var txt1= labels.join("|");&lt;br /&gt;
// Adjust Chart Properties below - See Google Charts API for reference&lt;br /&gt;
var vinc= "&amp;lt;IMG src='http://chart.apis.google.com/chart?cht=p3&amp;chs=750x200&amp;chd=t:"+txt+"&amp;chl="+txt1+"'/&amp;gt;";&lt;br /&gt;
$("#jLoadMe").append("&amp;lt;p&amp;gt;"+vinc+"&amp;lt;/p&amp;gt;")&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=========&lt;br /&gt;
--&amp;gt;apply ok and you will have the foloowing pie chart ready for you.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/TCNsM6WiDPI/AAAAAAAABt0/A56rwVlp-yU/s1600/img1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="291" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/TCNsM6WiDPI/AAAAAAAABt0/A56rwVlp-yU/s400/img1.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
you can do the same for any list you want.&lt;br /&gt;
References:&lt;br /&gt;
1) Google--&amp;gt;for google APIs&lt;br /&gt;
2) &lt;a href="http://www.endusersharepoint.com/category/author/claudio-cabaleyro-authors/" title="View all posts in Claudio Cabaleyro"&gt;Claudio Cabaleyr&lt;/a&gt;o --&amp;gt;http://www.endusersharepoint.com/2009/04/20/finally-dynamic-charting-in-wss-no-code-required/&lt;br /&gt;
*** If your manager says that the Google APIs are not secure there is an alternate approach to do the same:&lt;br /&gt;
&lt;a href="http://www.endusersharepoint.com/2010/06/18/multiple-secure-pie-charts-for-sharepoint/"&gt;Multiple Secure Pie Charts for SharePoint&lt;/a&gt; by Bryon Wyly&lt;br /&gt;
&lt;br /&gt;
Do the same and make your managers happy!!! how easy it is I love MY job. &lt;br /&gt;
Enjoy...&lt;br /&gt;
&lt;br /&gt;
**CODE DOES NOT WORK FOR HTTPS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-1657029840322149785?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4AV2K1Q9JtlKp18F6aNLdkCOZx8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4AV2K1Q9JtlKp18F6aNLdkCOZx8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4AV2K1Q9JtlKp18F6aNLdkCOZx8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4AV2K1Q9JtlKp18F6aNLdkCOZx8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/NWgCd1ZmKVg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/1657029840322149785/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=1657029840322149785" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/1657029840322149785?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/1657029840322149785?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/NWgCd1ZmKVg/pie-chart-for-sp-list-no-code-solution.html" title="Pie Chart for SP list : NO code solution" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/TCNsM6WiDPI/AAAAAAAABt0/A56rwVlp-yU/s72-c/img1.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/06/pie-chart-for-sp-list-no-code-solution.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUEQnoycSp7ImA9WxFVEUw.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-5884307087200437748</id><published>2010-06-09T12:53:00.000-07:00</published><updated>2010-06-09T12:53:23.499-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-09T12:53:23.499-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>Attach/Add an existing Content Database to a sharepoint Webapplication</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; you have the content database from the same server or from your production MSSQL server. Now you want to attach this content database and use it. There are few ways to do that:&lt;br /&gt;
&lt;b&gt;1) database attach using SP CA&lt;/b&gt;&lt;br /&gt;
let's assume that the content database you want to attach has the name 'WSS_Content_New'. You already have a webapplication. Open SP CA--&gt;application management--&gt;content databases--&gt;select the right webapplication --&gt; see the attached content database--&gt;select it--&gt;from drop down select 'offline'--&gt; also check mark--&gt;remove content database--&gt; click ok on the pop-up warning message. [Do not be scared with the pop-up message as the database will still remain in the SQL-DB and can be used in future if needed]--&gt;now come back to manage content databases page and you will see that no more databases are associated with this webapplication--&gt;click on the add a new content database--&gt; in content database text box there will be wss_content_somerandomGUID remove that and type wss_content_new--&gt;ok and now the database is attached. and you should be able to navigate to the webapplication and it will show you the site which resides in the attached content database.&lt;br /&gt;
** the above process is easy but I encountered the following error:&lt;br /&gt;
"The attach operation cannot continue because another object in this farm already contains the same ID. Each object in a farm must have a unique ID. In order to proceed with the attach operation you must assign a new ID to this database. To attach this database with a new ID, use the "stsadm.exe -o addcontentdb" operation with the -assignnewdatabaseid parameter. Note that if this new database and an existing database contain the same site collections, attaching this database will likely result in orphaned site collections due to conflicts between the two databases. "&lt;br /&gt;
**As the error mentions you can use the stsadm command which we will discuss later&lt;br /&gt;
**The possible cause for this error is - it's already being used by another webapplication. Check for every webapplication and its associated content database to make sure that this content database is not already being used by any other webapplication and try again.&lt;br /&gt;
&lt;b&gt;2) using stsadm command:&lt;/b&gt;&lt;br /&gt;
stsadm -o addcontentdb -url http://server:port/ -databasename WSS_Content_New -assignnewdatabaseid&lt;br /&gt;
(If you happen to get the above stated error then only u need to use -assignnewdatabaseid parameter)&lt;br /&gt;
&lt;b&gt;3) creating a new webbapp&lt;/b&gt;&lt;br /&gt;
open SPCA--&gt;create or extend a webapplication--&gt;create a new webapplication--&gt;  in content database text box there will be wss_content_somerandomGUID remove that and type wss_content_new--&gt;fill-out other details--&gt;click ok&lt;br /&gt;
**After performing all the above stated steps correctly, if you still get 404 webpage not found error, it may be possible that the content database does not have any sites. To check that navigate to the manage content database page--&gt;select the appropriate webapp and see the content database' sites column if it says 0 you cannot see the site when you try to navigate. You can of-course create the new site in the new content database.&lt;br /&gt;
&lt;b&gt;how to check?&lt;/b&gt;&lt;br /&gt;
navigate to the site and you will see the site. &lt;br /&gt;
&lt;b&gt;BENEFIT:&lt;/b&gt; This is a part of the SharePoint backup and recovery using database attach and detach method. You can use this method to attach a moss 2007 content database to the MOSS 2010 webapplication and have a new look and feel!!! &lt;br /&gt;
Love SharePoint.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-5884307087200437748?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mc2XhI1WehuOeK4qwHsp16iNTC0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mc2XhI1WehuOeK4qwHsp16iNTC0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mc2XhI1WehuOeK4qwHsp16iNTC0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mc2XhI1WehuOeK4qwHsp16iNTC0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/6mATtGaBs8w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/5884307087200437748/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=5884307087200437748" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5884307087200437748?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5884307087200437748?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/6mATtGaBs8w/attachadd-existing-content-database-to.html" title="Attach/Add an existing Content Database to a sharepoint Webapplication" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/06/attachadd-existing-content-database-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HSHsyfCp7ImA9Wx5bGUU.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-8734957064437507913</id><published>2010-06-09T06:41:00.000-07:00</published><updated>2010-11-05T12:37:19.594-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-05T12:37:19.594-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>Zip and/or remove old Sharepoint and IIS Log files</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; By default SharePoint saves it logs to 12/logs folder. the logs  can increase in size without any warning. Having the log files on the system drive can potentially cause the performance issues. &lt;br /&gt;
&lt;b&gt;proposed solution:&lt;/b&gt; Move the SharePoint log away from the c:/ let's say on D:/. on D:/ the log folder name is SharePointLogs. A script should run everyday at night which compresses the files older than 1 day, remove the original files which we are compressing, remove all the previous zip files which are older than 30 days   &lt;br /&gt;
&lt;b&gt;working on a solution:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;prerequisites:&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
- we are going to use forfiles and 7zip. &lt;br /&gt;
- forefiles are already there in windows server at C:\Windows\System32 (look for forfiles.exe)&lt;br /&gt;
- download and install '7-zip' - open source utility which helps you to run the command to zip the file. (&lt;a href="http://www.7-zip.org/"&gt;http://www.7-zip.org/&lt;/a&gt; and download the appropriate file)&lt;br /&gt;
- the installer will install it to following location on windows:C:\Program Files\7-Zip&lt;br /&gt;
- I like the idea of  &lt;b&gt;'Roni Schuetz'&lt;/b&gt; to add the installation paths of both these utilities into environment path variable for scripting convenience. (so to run 7zip's 7z command you do not need to navigate to C:\Program Files\7-Zip location on the command prompt)&lt;br /&gt;
- start--&gt; control panel--&gt;make sure yoy are in classic view--&gt;click on System --&gt; on the LHS click on 'Advanced system settings'--&gt;on the 'system properties' window under Advanced tab click on 'Environment Variables'--&gt; on 'environment variables' window under 'system variables' section select 'Path' and then click on 'edit..'--&gt;on 'edit system variable window' besides 'variable value' you will see that there will already some paths added, go to the end of the line and add ";C:\Windows\System32;C:\Program Files\7-Zip"--&gt; click ok --&gt; ok&lt;br /&gt;
-navigate to D:/ and create an empty folder named 'SharePointLogs'&lt;br /&gt;
- to move the SharePointLogs to a different drive: open SP CA--&gt; operations--&gt; under 'Logging and reporting' click on 'Diagnostic logging' --&gt; under 'Trace Log' section under 'Path' remove 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS' and add 'D:\SharePointLogs' (you can also control the logs using two options 'Number of log files' and 'Number of minutes to use a log file')AGAIN- operations--&gt;'Usage analysis and processing'--&gt;change the log file location to 'D:\SharePointLogs'--&gt;click ok&lt;br /&gt;
- &lt;b&gt;&lt;i&gt;now it's time to write the batch file&lt;/i&gt;&lt;/b&gt; (see my previous blogs for the info about how to create one and how to schedule one using the Windows Task Scheduler)&lt;br /&gt;
===V1=====================================================================&lt;br /&gt;
@echo START - %TIME%&lt;br /&gt;
forfiles -p "D:\SharePointLogs" -s -m *.* -d -1 -c "Cmd /C 7z a @FILE.zip @FILE"&lt;br /&gt;
forfiles -p "D:\SharePointLogs" -s -m *.* -d -1 -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "D:\SharePointLogs" -s -m *.zip -d -30 -c "cmd /c del @file"&lt;br /&gt;
&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.* -d -1 -c "Cmd /C 7z a @FILE.zip @FILE"&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.* -d -1 -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.zip -d -30 -c "cmd /c del @file"&lt;br /&gt;
&lt;br /&gt;
@echo DONE - %TIME%&lt;br /&gt;
========================================================================&lt;br /&gt;
*remember if you have multi server farm - The new location you specify for logs must exist on all servers in the farm.&lt;br /&gt;
*** If you want to copy files from folders and their sub-folders based on their age on windows box use the following command:&lt;br /&gt;
robocopy "source path" "Destination path" *.* /minage:2 /s&lt;br /&gt;
(Explanation: *.* - any files with any extension, &lt;br /&gt;
/minage:2 - files older then 2 days&lt;br /&gt;
/s - Also look into the subfolders )&lt;br /&gt;
&lt;b&gt;***Error while accessing 'Diagnostic Logging Page'***&lt;/b&gt;&lt;br /&gt;
I moved the default diagnostic logging location from 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS' to D:/SPLOGS. Then I deleted everything from 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS', then I went to CA&gt;OP&gt;Diagnostic Logging and encountered an error 'something.runtime is missing' (I apologize that right now I am unable to reproduce the exact error message). &lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;even if you remove the log location never remove the content which is already there in 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS' this will cause the error above.&lt;br /&gt;
all set.&lt;br /&gt;
======V2 modified script==========&lt;br /&gt;
===v2 changes:&lt;br /&gt;
1. Added one more command to remove all files older than 180 days from logs' default location. If we compress them, the modified date will be changed to today's date and hence the script does not remove it immediately and will wait for 180 days to remove them. &lt;br /&gt;
2. Removed /minage from robocopy, as we decided not to keep any .zip files at logs' default locations irrespective of their age.&lt;br /&gt;
===script v2&lt;br /&gt;
@echo START - %TIME%&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.* -d -180 -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.log -d -1 -c "Cmd /C 7z a @FILE.zip @FILE"&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.log -d -1 -c "cmd /c del @file"&lt;br /&gt;
robocopy "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" "D:\SPLogArchieve\SP" *.zip /s&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.zip -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "D:\SPLogArchieve\SP" -s -m *.zip -d -180 -c "cmd /c del @file"&lt;br /&gt;
&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.* -d -180 -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.log -d -1 -c "Cmd /C 7z a @FILE.zip @FILE"&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.log -d -1 -c "cmd /c del @file"&lt;br /&gt;
robocopy "C:\inetpub\logs\LogFiles" "D:\SPLogArchieve\IIS" *.zip /s&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.zip -d -1 -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "D:\SPLogArchieve\IIS" -s -m *.zip -d -180 -c "cmd /c del @file"&lt;br /&gt;
@echo DONE - %TIME%&lt;br /&gt;
=========&lt;br /&gt;
================================Modified V3====================&lt;br /&gt;
&lt;b&gt;Requirement Specifications:&lt;/b&gt;&lt;br /&gt;
1. Compress log files older than 1 day from SharePoint and IIS’ default log locations&lt;br /&gt;
2. Remove the log files older than 1 day from SharePoint and IIS’ default log locations&lt;br /&gt;
3. Copy compressed files from SharePoint and IIS’ default log locations to D: /&lt;br /&gt;
4. Remove all compressed files from SharePoint and IIS’ default log locations &lt;br /&gt;
5. Remove all compressed files from D:/ older than 180 days"&lt;br /&gt;
6. Remove all empty folders and subfolders from SharePoint and IIS’ default log locations&lt;br /&gt;
===part 1&lt;br /&gt;
REM *****************************************************&lt;br /&gt;
REM this batch file will remove the files older than 180 days from Sharepoint and IIS' defaul log locations&lt;br /&gt;
REM *****************************************************&lt;br /&gt;
@echo START - %TIME%&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.* -d -180 -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.* -d -180 -c "cmd /c del @file"&lt;br /&gt;
@echo DONE - %TIME%&lt;br /&gt;
====part 2&lt;br /&gt;
REM *****************************************************&lt;br /&gt;
REM Version 4-10/18/2010 -Dhruv Shah&lt;br /&gt;
REM 1. Spelling correction: SPLogArcheive to SPLogArchive&lt;br /&gt;
REM 2. Removed 'forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.* -d -180 -c "cmd /c del @file"'&lt;br /&gt;
REM 3. Removed 'forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.* -d -180 -c "cmd /c del @file"'&lt;br /&gt;
REM 4. Added ''&lt;br /&gt;
REM 'cd\'&lt;br /&gt;
REM 'set dir = "***"'&lt;br /&gt;
REM 'for /f "usebackq" %%d in (`"dir /ad/b/s | sort /R"`) do rd "%%d"'&lt;br /&gt;
REM 5. If you want to play with this command from the command prompt, then undouble the percent signs.&lt;br /&gt;
REM 6. SP log location 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS'&lt;br /&gt;
REM 7. IIS log location 'C:\inetpub\logs\LogFiles'&lt;br /&gt;
REM *****************************************************&lt;br /&gt;
&lt;br /&gt;
@echo START - %TIME%&lt;br /&gt;
REM ****Sp Logs *************************************************&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.log -d -1 -c "Cmd /C 7z a @FILE.zip @FILE"&lt;br /&gt;
REM "The above command will compress log files older than 1 day from path -p"&lt;br /&gt;
&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.log -d -1 -c "cmd /c del @file"&lt;br /&gt;
REM "The above command will remove the log files older than 1 day from path -p"&lt;br /&gt;
&lt;br /&gt;
robocopy "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" "D:\SPLogArchive\SP" *.zip /s&lt;br /&gt;
REM "The above command will copy all compressed files from source to destination"&lt;br /&gt;
&lt;br /&gt;
forfiles -p "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS" -s -m *.zip -c "cmd /c del @file"&lt;br /&gt;
REM "The above command will remove all compressed files from path -p"&lt;br /&gt;
&lt;br /&gt;
forfiles -p "D:\SPLogArchive\SP" -s -m *.zip -d -180 -c "cmd /c del @file"&lt;br /&gt;
REM "The above command will remove all compressed files from path -p older than 180 days"&lt;br /&gt;
&lt;br /&gt;
cd\&lt;br /&gt;
REM "The above command will take the command prompt to directory's home, which is necessary inorder to run the following command"&lt;br /&gt;
&lt;br /&gt;
set dir = "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS"&lt;br /&gt;
REM "The above command sets the target directory to perform the following command on"&lt;br /&gt;
&lt;br /&gt;
for /f "usebackq" %%d in (`"dir /ad/b/s | sort /R"`) do rd "%%d"&lt;br /&gt;
REM "The above command will remove empty folders. It will start from child nodes to parent directory"&lt;br /&gt;
REM "Command promt will be on hold for about a minute before executing this command. Please do not close the command prompt window"&lt;br /&gt;
&lt;br /&gt;
REM ****IIS Logs *************************************************&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.log -d -1 -c "Cmd /C 7z a @FILE.zip @FILE"&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.log -d -1 -c "cmd /c del @file"&lt;br /&gt;
robocopy "C:\inetpub\logs\LogFiles" "D:\SPLogArchive\IIS" *.zip /s&lt;br /&gt;
forfiles -p "C:\inetpub\logs\LogFiles" -s -m *.zip -c "cmd /c del @file"&lt;br /&gt;
forfiles -p "D:\SPLogArchive\IIS" -s -m *.zip -d -180 -c "cmd /c del @file"&lt;br /&gt;
cd\&lt;br /&gt;
set dir = "C:\inetpub\logs\LogFiles"&lt;br /&gt;
for /f "usebackq" %%d in (`"dir /ad/b/s | sort /R"`) do rd "%%d"&lt;br /&gt;
REM Command promt will be on hold for about a minute before executing this command. Please do not close the command prompt window&lt;br /&gt;
&lt;br /&gt;
@echo DONE - %TIME%&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
1) &lt;a href="http://netrsc.blogspot.com/2010/05/zip-zipper-and-7zip-log-files.html"&gt;http://netrsc.blogspot.com/2010/05/zip-zipper-and-7zip-log-files.html&lt;/a&gt;&lt;br /&gt;
2)&lt;a href="http://www.codejacked.com/zip-up-files-from-the-command-line/"&gt; http://www.codejacked.com/zip-up-files-from-the-command-line/&lt;/a&gt;&lt;br /&gt;
Enjoy.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-8734957064437507913?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/U8e6Ver1X9WAt6Kpv9lqMY1baSI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U8e6Ver1X9WAt6Kpv9lqMY1baSI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/U8e6Ver1X9WAt6Kpv9lqMY1baSI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U8e6Ver1X9WAt6Kpv9lqMY1baSI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/plLU5RVSAsY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/8734957064437507913/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=8734957064437507913" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8734957064437507913?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8734957064437507913?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/plLU5RVSAsY/zip-andor-remove-old-sharepoint-and-iis.html" title="Zip and/or remove old Sharepoint and IIS Log files" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/06/zip-andor-remove-old-sharepoint-and-iis.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQESX06eCp7ImA9WxFUEkQ.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-7644541257115995656</id><published>2010-06-03T12:28:00.000-07:00</published><updated>2010-06-23T06:05:08.310-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-23T06:05:08.310-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>You receive a "Service Unavailable" error message when you browse your sharepoint website. error code: 505/503</title><content type="html">&lt;b&gt;This is how we resolved the error: &lt;/b&gt;&lt;br /&gt;
-Go to IIS manager--&amp;gt;click on application pools--&amp;gt; on the 'application pools' main window right click on the webapplication which gives the above stated error--&amp;gt;stop--&amp;gt;start. &lt;br /&gt;
-do the iis reset &lt;br /&gt;
you are all set. &lt;br /&gt;
this error is related to the application pool account of a ShareoPoint website.  &lt;br /&gt;
You may have to do some extra R&amp;amp;D, depending on what you did last before you encountered this error. &lt;br /&gt;
There are enough help available on Google for this.&lt;br /&gt;
-&amp;gt; we got the same error after few days to a new server which rendered the same error when we tried to access central admin site. The above method solved the problem.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LBRsfUBQ2qQ/TCIGeKkMYvI/AAAAAAAABts/sNQeiikWHd4/s1600/503error.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_LBRsfUBQ2qQ/TCIGeKkMYvI/AAAAAAAABts/sNQeiikWHd4/s400/503error.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-7644541257115995656?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/h-9BJvaSDFBxWwMTc2ucCQGHZzc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h-9BJvaSDFBxWwMTc2ucCQGHZzc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/h-9BJvaSDFBxWwMTc2ucCQGHZzc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h-9BJvaSDFBxWwMTc2ucCQGHZzc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/GX8saodrx9U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/7644541257115995656/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=7644541257115995656" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/7644541257115995656?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/7644541257115995656?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/GX8saodrx9U/you-receive-service-unavailable-error.html" title="You receive a &quot;Service Unavailable&quot; error message when you browse your sharepoint website. error code: 505/503" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_LBRsfUBQ2qQ/TCIGeKkMYvI/AAAAAAAABts/sNQeiikWHd4/s72-c/503error.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/06/you-receive-service-unavailable-error.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcMRXYyfSp7ImA9WxFWFU0.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-8173489136298054050</id><published>2010-06-02T12:48:00.000-07:00</published><updated>2010-06-02T12:48:04.895-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-02T12:48:04.895-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>MetaLogix Migration Issue</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; On one site collection we had the document library with default content type 'document'. In this content type few more columns are added. some of these columns had the special characters in their names. for example 'new/column', 'case number(s)' etc., On the target site collection we want to migrate this doc lib in such a way so that the columns are mapped to the new content type called 'NewCT'. This content type must be a site content type. All the documents must be mapped to the same columns but here the columns must be the site columns and not the list columns. &lt;br /&gt;
&lt;b&gt;solution:&lt;/b&gt;&lt;br /&gt;
--prepare the source site collection&lt;br /&gt;
-create a new site collection with blank site template &lt;br /&gt;
-create a custom columns without the special characters **&lt;br /&gt;
and create a new content type  'NewCT' docs and include all these columns which you just created. So now you have the site content type with all the site columns&lt;br /&gt;
open Metalogix site migration manager  &lt;br /&gt;
open type source &lt;br /&gt;
open the destination&lt;br /&gt;
and follow these procedure:&lt;br /&gt;
attached in gmail:&lt;br /&gt;
Document name: "Final Procedure Metalogix Solution"&lt;br /&gt;
[sometime I will upload the procedure here the only thing which is stopping me to do so right now is screen-shots!!]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-8173489136298054050?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bi8LYPSGCkQunoMrjPma_PAPj7A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bi8LYPSGCkQunoMrjPma_PAPj7A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bi8LYPSGCkQunoMrjPma_PAPj7A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bi8LYPSGCkQunoMrjPma_PAPj7A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/WKux3UgV88U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/8173489136298054050/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=8173489136298054050" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8173489136298054050?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/8173489136298054050?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/WKux3UgV88U/metalogix-migration-issue.html" title="MetaLogix Migration Issue" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/06/metalogix-migration-issue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8EQX4yfCp7ImA9Wx5bGUs.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-3539710288895537479</id><published>2010-06-02T12:27:00.000-07:00</published><updated>2010-11-05T07:20:00.094-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-05T07:20:00.094-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Customization" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net and C#.net" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Content Migration" /><title>copy the one column value to another of a sharepoint document library using Object model and C#.Net</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; We have a document library which needs to have a title field same as their name filed for all the documents. Currently for all the documents the Title field is empty. So we need to copy Name field to Title field. &lt;br /&gt;
&lt;b&gt;Workaround :&lt;/b&gt; Open the list or library in the IE--&gt;actions--&gt;edit in datasheet--&gt; in the datasheet view, copy the Name column and paste it to the Title column.  Problem: it pastes the entire url. &lt;br /&gt;
&lt;b&gt;Solution with code:&lt;/b&gt;&lt;br /&gt;
1. open VS&lt;br /&gt;
2. file-&gt; new-&gt; project--&gt;visual c#-&gt;console application-&gt; give it a meaningful name&lt;br /&gt;
3. right click references--&gt;add reference--&gt; add 'Windows Sharepoint Services'(this will add 'microsoft.sharepoint' reference) and 'system.web' reference &lt;br /&gt;
4. the program.cs file should look like this :&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using Microsoft.SharePoint;&lt;br /&gt;
using Microsoft.SharePoint.Administration;&lt;br /&gt;
&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.Mail;&lt;br /&gt;
&lt;br /&gt;
using System.IO;&lt;br /&gt;
namespace ConsoleApplication1&lt;br /&gt;
{&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
static void Main(string[] args)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
SPSite spSite = new SPSite("URL of a parent site collection");&lt;br /&gt;
SPWeb web = spSite.AllWebs["Name of a sub site collection"];&lt;br /&gt;
SPDocumentLibrary docLib = (SPDocumentLibrary)web.Lists["Name of a document library"];&lt;br /&gt;
SPListItemCollection items = docLib.Items;&lt;br /&gt;
foreach (SPListItem item in items)&lt;br /&gt;
{&lt;br /&gt;
item["Name"] = item["Title"];&lt;br /&gt;
item.Update();&lt;br /&gt;
}&lt;br /&gt;
Console.WriteLine("done");&lt;br /&gt;
Console.ReadLine();&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
Run the program and you are all set!!&lt;br /&gt;
&lt;br /&gt;
============update: running the above stated program copies the .pdf also so to remove that we used split string here is the code:&lt;br /&gt;
static void Main(string[] args)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
//copying the column value from Name to Title New for dcouments&lt;br /&gt;
SPSite spSite = new SPSite("http://sitename/");&lt;br /&gt;
SPWeb web = spSite.AllWebs["Law_Dept"];&lt;br /&gt;
SPDocumentLibrary docLib = (SPDocumentLibrary)web.Lists["Active1"];&lt;br /&gt;
SPListItemCollection items = docLib.Items;&lt;br /&gt;
&lt;br /&gt;
string s = null;&lt;br /&gt;
string[] s1 = null;&lt;br /&gt;
foreach (SPListItem item in items)&lt;br /&gt;
{&lt;br /&gt;
s = item["Name"].ToString();&lt;br /&gt;
s1 = s.Split('.');&lt;br /&gt;
Console.WriteLine(s1[0]);&lt;br /&gt;
item["NEWNAME"] = s1[0];&lt;br /&gt;
item["Title_New"] = s1[0];&lt;br /&gt;
item.Update();&lt;br /&gt;
s = null;&lt;br /&gt;
s1 = null;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine("done");&lt;br /&gt;
Console.ReadLine();&lt;br /&gt;
}&lt;br /&gt;
enjoy!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-3539710288895537479?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vlP7inX5HPeYFS-u_fkSWH0Vvjc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vlP7inX5HPeYFS-u_fkSWH0Vvjc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vlP7inX5HPeYFS-u_fkSWH0Vvjc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vlP7inX5HPeYFS-u_fkSWH0Vvjc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/VF8AzfErvWs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/3539710288895537479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=3539710288895537479" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3539710288895537479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/3539710288895537479?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/VF8AzfErvWs/copy-one-column-value-to-another-of.html" title="copy the one column value to another of a sharepoint document library using Object model and C#.Net" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/06/copy-one-column-value-to-another-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAASXc_fyp7ImA9WxFWFU0.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-5682403442924829051</id><published>2010-06-02T11:49:00.000-07:00</published><updated>2010-06-02T11:52:28.947-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-02T11:52:28.947-07:00</app:edited><title>Find the Largest File in your SharePoint Portal using C#.Net and Sharepoint Object Model</title><content type="html">&lt;b&gt;Scenario:&lt;/b&gt; The default maximum upload size limit in MOSS is 50MBs. During the MS MOSSRAP we got notified that some one has changed it to 500 MBs. I was asked to find-out if there are any large files in the portal. We have more than 100 thousand files. So the best way to achieve this is using the code. &lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
1. open VS &lt;br /&gt;
2. file-&gt; new-&gt; project--&gt;visual c#-&gt;console application-&gt; give it a meaningful name&lt;br /&gt;
3. right click references--&gt;add reference--&gt; add 'Windows Sharepoint Services' reference -&gt;this will add 'microsoft.sharepoint' reference.&lt;br /&gt;
4. the program.cs file should look like this :&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using Microsoft.SharePoint;&lt;br /&gt;
using Microsoft.SharePoint.Utilities;&lt;br /&gt;
using Microsoft.SharePoint.Administration;&lt;br /&gt;
&lt;br /&gt;
namespace GetFileSize&lt;br /&gt;
{&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
static void Main(string[] args)&lt;br /&gt;
{&lt;br /&gt;
SPSite spSite = new SPSite("http://Yourwebsitename/");&lt;br /&gt;
SPWebCollection webs = spSite.AllWebs;&lt;br /&gt;
long b = 0;&lt;br /&gt;
string s = null;&lt;br /&gt;
foreach (SPWeb web in webs)&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine(web.Title);&lt;br /&gt;
&lt;br /&gt;
SPListCollection doclibcol = web.Lists;&lt;br /&gt;
&lt;br /&gt;
foreach (SPList list in doclibcol)&lt;br /&gt;
{&lt;br /&gt;
if (list.BaseType.ToString() == "DocumentLibrary")&lt;br /&gt;
{&lt;br /&gt;
SPListItemCollection items = list.Items;&lt;br /&gt;
&lt;br /&gt;
foreach (SPListItem item in items)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
if (item.File.Length &gt; b)&lt;br /&gt;
{&lt;br /&gt;
b = item.File.Length;&lt;br /&gt;
s = item.File.Url;&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
b = b;&lt;br /&gt;
s = s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
Console.WriteLine("The largest file url is : " + s);&lt;br /&gt;
Console.WriteLine("The Value of b is: " + b);&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine("done");&lt;br /&gt;
Console.ReadLine();&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
Click run and you will get the url and the size of the biggest file in your portal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-5682403442924829051?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2nwKFfwACq9_MqRTMRa_CT2C2a0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2nwKFfwACq9_MqRTMRa_CT2C2a0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2nwKFfwACq9_MqRTMRa_CT2C2a0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2nwKFfwACq9_MqRTMRa_CT2C2a0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/VQNtPKmiJbA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/5682403442924829051/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=5682403442924829051" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5682403442924829051?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5682403442924829051?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/VQNtPKmiJbA/find-largest-file-in-your-portal-using.html" title="Find the Largest File in your SharePoint Portal using C#.Net and Sharepoint Object Model" /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/06/find-largest-file-in-your-portal-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UEQn09fSp7ImA9WxFWEEg.&quot;"><id>tag:blogger.com,1999:blog-3797506521389414713.post-5448860280589111413</id><published>2010-05-25T09:39:00.000-07:00</published><updated>2010-05-28T05:53:23.365-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-28T05:53:23.365-07:00</app:edited><title>Error: The evaluation version of Microsoft Office SharePoint Server 2007 for this server has expired.</title><content type="html">I &lt;b&gt;got this error&lt;/b&gt; when I tried to open the 'User Profile and Properties' page from SharePoint Central Admin.&lt;br /&gt;
&lt;b&gt;Resolution:&lt;/b&gt;&lt;br /&gt;
- navigate to this page: &lt;br /&gt;
&lt;a href="http://support.microsoft.com/kb/971620/en-us"&gt;http://support.microsoft.com/kb/971620/en-us&lt;/a&gt;&lt;br /&gt;
-click on the following url to download the fix:&lt;br /&gt;
&lt;a href="http://download.microsoft.com/download/5/b/b/5bbd34a9-c528-42b0-8a5f-9a8997b25c32/office2007-kb971620-fullfile-x64-glb.exe"&gt;Download the Update for 2007 Microsoft Office Servers (KB971620), 64-Bit Edition package now.&lt;/a&gt;&lt;br /&gt;
-Install it on the SharePoint server and reboot the server. &lt;br /&gt;
** If you have the multi server farm you need to install this patch on all the WFEs and an App server and reboot all of them in-order to complete the installation. &lt;br /&gt;
(Scenario:We had multi server farm and CA was runing on one WFE, so I installed this patch on that WFEs only. Doing so corrected the error of acceesing SSP pages like 'Profile pages' and 'Mysite pages' but I noticed one more error when I tried to 'search' : 'Your licence for Office Server Search has expired. at Microsoft.Office.Server.Search.Query.FullTextSqlQuery.Execute() ' so, I installed this patch on the other WFE on the farm and rebooted it. Issue solved.. happy Friday... yeaa....)&lt;br /&gt;
Problem Solved.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solutions which did not workout for me:&lt;/b&gt;&lt;br /&gt;
1) Joel Olson's blog:&lt;br /&gt;
&lt;a href="http://blogs.msdn.com/b/joelo/archive/2008/01/02/evaluation-version-expired-but-not-really.aspx"&gt;http://blogs.msdn.com/b/joelo/archive/2008/01/02/evaluation-version-expired-but-not-really.aspx&lt;/a&gt;&lt;br /&gt;
- Permissions for the groups WSS_WPG, WSS_ADMIN_WPG to the Registry were correct in our case&lt;br /&gt;
- I could not figure out how to 'add -application pool Account- ("dcomcnfg.exe") to the Distributed users group.&lt;br /&gt;
2)other workaround:&lt;br /&gt;
open the web.config of ssp --&gt; make a small change--&gt;undo your change--&gt;save--&gt;iis reset: this also did not workout&lt;br /&gt;
&lt;br /&gt;
**&lt;b&gt;Note:&lt;/b&gt; I installed this package only on the server running the CA and it fixed the issue even if we had 5 servers in the farm. (I guess we just have to install it on the server running CA)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3797506521389414713-5448860280589111413?l=dhruvshahsp.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nW_mIbmMO5L0Y_3fFyeEqSsjacM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nW_mIbmMO5L0Y_3fFyeEqSsjacM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nW_mIbmMO5L0Y_3fFyeEqSsjacM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nW_mIbmMO5L0Y_3fFyeEqSsjacM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhruvShahsSharepointBlog/~4/TO4nPRgt98E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dhruvshahsp.blogspot.com/feeds/5448860280589111413/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3797506521389414713&amp;postID=5448860280589111413" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5448860280589111413?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3797506521389414713/posts/default/5448860280589111413?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhruvShahsSharepointBlog/~3/TO4nPRgt98E/error-evaluation-version-of-microsoft.html" title="Error: The evaluation version of Microsoft Office SharePoint Server 2007 for this server has expired." /><author><name>Dhruv</name><uri>http://www.blogger.com/profile/02781529763003963758</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_LBRsfUBQ2qQ/SxA6MxQxBCI/AAAAAAAABiw/leC-7NQL5ZM/S220/Picture%2520041%5B1%5D.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dhruvshahsp.blogspot.com/2010/05/error-evaluation-version-of-microsoft.html</feedburner:origLink></entry></feed>

