Posted on:
Categories: SharePoint
Description:
Application Architecture SharePoint 2010 has two kinds of Application Pools SP Service Application Pools – Used for SP Service Applications These can be partially managed through the GUI SP Web Application Pools – Used for Web Applications These cannot be managed through the GUI Microsoft recommends having a maximum of 10 Application Pools per server Issues When an administrator places every single Web App/Service App in a separate Application Pool this causes SharePoint to run inefficiently and consume a large amount of memory. For example, if a server has 20 Application Pools. It will run 20 instances of w3wp.exe, for which each consume about 100mb of ram before loading up a site. Then when sites are loaded on these Application Pools they will consume all available memory as they all believe that they have free reign over the server’s resources. While when Application Pools are consolidated IIS will be able to better manage the available memory. Solution The Solution to this issue is to consolidate the Application Pools so that there is a maximum of 10 per server. To do this, follow my instructions below Please do not use IIS to change any Application Pool Settings as SharePoint will freak out during the next psconfig.exe run (SP1 Update, CU Update and Server Addition) SP Web Application Pools Consolidation Link http//gallery.technet.microsoft.com/scriptcenter/Change-SharePoint-Web-64b872d7 PowerShell #--------------------------------------------------------------------------------------- # Name Set-WebApplicataionPool.ps1 # Description This script will change SP WebApplication Pools for a Web Application # # Usage Run the function with the required parameters # By Ivan Josipovic, Softlanding.ca #--------------------------------------------------------------------------------------- Function Set-WebApplicataionPool($WebAppURL,$ApplicationPoolName) $apppool = [Microsoft.SharePoint.Administration.SPWebService]ContentService.ApplicationPools | where $_.Name -eq $ApplicationPoolName if ($apppool -eq $null) write-host -foreground red "The Application Pool $ApplicationPoolName does not exist!" return 1 $webapp = get-spwebapplication -Identity $WebAppUrl if ($webapp -eq $null) write-host -foreground red "The Web Application $WebAppUrl does not exist!" return 1 $webapp.Applicationpool = $apppool $webApp.Update() $webApp.ProvisionGlobally() write-host -foreground green "$WebappURL Application Pool has been changed to $ApplicationPoolName" return 0 Set-WebApplicataionPool -WebAppURL "http//sp2010-a9006" -ApplicationPoolName "SharePoint WebApplications" Deletion Once you have consolidated the application pools. Open IIS, go to the Application Pool section. You will notice application pools with 0 associate Applications. Use the following Script to delete them. Note This script will only delete SP Web Application Application Pools. Link http//gallery.technet.microsoft.com/scriptcenter/Delete-a-SP-WebApplication-9a7d82e4 PowerShell #------------------------------------------------------------------------------------------------------ # Name Remove-WebApplicataionPool.ps1 # Description This script will delete SP WebApplication Pools from SP/IIS # # Usage Run the function with a required parameters # By Ivan Josipovic, Softlanding.ca #------------------------------------------------------------------------------------------------------ Function Remove-WebApplicataionPool($ApplicationPoolName) $apppool = [Microsoft.SharePoint.Administration.SPWebService]ContentService.ApplicationPools | where $_.Name -eq $ApplicationPoolName if ($apppool -eq $null) write-host -foreground red "The Application Pool $ApplicationPoolName does not exist!" return 1 $apppool.UnProvisionGlobally() write-host -foreground green "$ApplicationPoolName has been deleted" return 0 Remove-WebApplicataionPool -ApplicationPoolName "SharePoint - 8003" SP Service Application Pools Consolidation To consolidate the Service Application Pools the simplest way is to use the PowerShell Get-SPServiceApplication - Name "My Service Application" | Set-SPServiceApplication -IisWebServiceApplicationPool "New Application Pool Name" Deletion Use the PowerShell Commands Get-SPServiceApplicationPool to retrieve the names of all the SP Service Application Pools Remove-SPServiceApplicationPool to remove unneeded SP Service Application Pools If you have any questions please leave a comment. Enjoy!




Posted on:
Categories: SharePoint
Description:
Issue We have all made spelling mistakes when creating SharePoint Service Applications. Now we don’t have to live with them any longer. SharePoint does not provide a GUI method of renaming service applications. Luckily, this is very simple using the Object Model. Solution This PowerShell function will rename a SharePoint Service Application and its associated Proxy. This function does not require an IIS Reset. Code The Script can be downloaded from the Microsoft Script Center Here Rename-SharePoint-Service #------------------------------------------------------------------------------------------------------ # Name Rename-SPServiceApplication # Description This script will rename a Service Application and its Proxy # Usage Run the function with the Name and NewName Parameters # By Ivan Josipovic, Softlanding.ca #------------------------------------------------------------------------------------------------------ Function Rename-SPServiceApplication ($Name,$NewName) $Service = Get-SPServiceApplication -Name $Name if ($Service -eq $null) Write-host -Foreground red "Error Cant find $Name" return 1 $proxies = Get-SPServiceApplicationProxy foreach ($Proxy in $proxies) if ($Service.IsConnected($Proxy)) Write-host "Proxy Found" if ($Proxy.Status -ne "Online") Write-host -Foreground red "Error The Proxy is currently is Status $($Proxy.Status)" Write-host -Foreground red "Error You will have to enable the Proxy before it can be modified, re-run the script once completed" return 1 else $Proxy.Name = $NewName $Proxy.Update() $Service.Name = $NewName $Service.Update() Write-host "Completed with no Errors" return 0 Rename-SPServiceApplication -Name "WSS_UsageApplication" -NewName "WSS Usage Application" If you have any questions please leave a comment. Enjoy!




Posted on:
Categories: SharePoint
Description:
Issue One of our clients was running the “Microsoft SharePoint Foundation Web Application” service on all of their Application Servers. In order to gain some more performance and memory, I recommended stopping this service on all of the Application Servers. The issue was that Central Administration is located on one of the Application Servers. When I tried to create a new Web Application in Central Admin, it was no longer able to see all the available Application Pools (As seen below). Solution We have two options here Start the "Microsoft SharePoint Foundation Web Application” service on the Central Admin server Move Central Administration to one of the Web Front Ends To move the Central Admin follow the steps below Log on to the server where you want the new Central Admin to reside. Open the “SharePoint 2010 Management Shell” and run New-SPCentralAdministration -Port 12345 This will provision Central Admin on the new server Once the previous step is completed, log on to the new Central Admin using http//servername12345 Go to System Settings, Manage Services on Server Select to the old Central Admin Server and Stop the “Central Administration” service If you have any questions please leave a comment. Enjoy!




Posted on:
Categories: SharePoint
Description:
Issue When creating Managed Properties in SharePoint Search it is difficult to find the exact name of the crawled property. This proves to be impossible in a very large environment as there can be hundreds of similarly named crawled properties. Solution I have created a PowerShell script which will display all the crawled properties and values for a specific document. The script accesses the SPListItem.Xml Property, this property contains all of the Items properties and their values. This script is very valuable in troubleshooting as it shows you the exact value for each field as show in this blog Error from SharePoint site *** Index was outside the bounds of the array Code The Script can be downloaded from the Microsoft Script Center Here Get-Crawled-Property-Names #------------------------------------------------------------------------------------------------------ # Name Get-CrawledProperties.ps1 # Description This script will show you the crawled property names for a document library # Usage Run the function with a Document URL as the parameter. # By Ivan Josipovic, Softlanding.ca #------------------------------------------------------------------------------------------------------ Function Get-CrawledPropertyNames([string]$DocURL) $DocURL = $DocURL.Replace("%20"," ") $webfound = $false $weburl = $DocURL while ($webfound -eq $false) if ($weburl.Contains("/")) $weburl = $weburl.Substring(0,$weburl.LastIndexOf("/")) $web = get-spweb -identity $weburl -ea 0 if ($web -ne $null) $webfound = $true else Write-Host -ForegroundColor Red "The Web could not be found" return -1 $web.GetFile($DocURL).item.xml.Replace("' ", "' `n").Replace("`" ", "`" `n") #To use enter the url of a file within a doucment library Get-CrawledPropertyNames "http//sites/doc/file.pdf" If you have any questions please leave a comment. Enjoy!




Posted on:
Categories: CodePlex;SharePoint
Description:
Introduction First of all I would like to start by thanking Brian Lalancette and many others for their great work on the AutoSPInstaller Project. AutoSPInstaller is a PowerShell based tool which automates the deployment of SharePoint 2010 and 2013. It has the ability to granularly configure most aspects of the farm and includes some interesting features such as centralized farm deployment, granular database naming, XML configuration and more. AutoSPInstallerGUI is a .NET Application which we built that assists in configuring the AutoSPInstallerInput.xml. If you haven’t seen the insides of it, it is a very lengthy XML file with tones of configuration. It takes a significant amount of time and knowledge of the script in order to configure successfully. Furthermore, if you are as clumsy with typing as I am, you will make a few mistakes. Something as simple as forgetting a quote or adding an extra space could cause issues, without a strong understanding of PowerShell and XML you may spend hours trying to fix it. The goal of AutoSPInstallerGUI is to simplify this process. It will assist you with all of the configuration including some of the more complicated configurations such as adding additional Web Applications or Site Collections. Furthermore, there is a large amount of code just to make sure that all of the data is valid. How to Create the following domain accounts (They can be named anything) SP_Farm (Farm Account) SP_CacheSuperUser (Object Caching Account) SP_CacheSuperReader (Object Caching Account) SP_Services (Service Application Account) SP_PortalAppPool (Portal Application Pool Account) SP_ProfilesAppPool (MySites Application Pool Account) SP_SearchService (Search Service Application Pool Account) SP_SearchContent (Search Content Access Account) SP_ProfileSync (User Profile Sync Account) Requires Replicate Directory Changes permission on the domain with which you'll synchronize Optionally for Enterprise Service Applications (Can be a single account) SP_ExcelUser (Excel Unttanended ID) SP_VisioUser (Visio Unattended ID) SP_PerfPointUser (Performance Point Unattended ID) Download the latest version of the AutoSPInstallerGUI Here Download the latest version of the AutoSPInstaller Here Assuming that we are going to use this on SharePoint 2010 and that all of your SharePoint servers have Internet access There is more work required to place all the files in the correct locations if there is no internet access Please Note The process is almost identical for SharePoint 2013 Disable Windows Firewall or allow the following ports through the firewall, 22233,22234,22235 and 22236. Causes issues with Distributed Cache I would recommend enabling the Auto Admin Login in the GUI as 2013 requires a number of reboots Make sure that all the Web Applications use Claims Based Authentication as Classic Based Authentication is now obsolete Extract the contents of the AutoSPinstaller.zip anywhere ie D\Temp\ Place the contents of the SharePoint iso in D\Temp\SP\2010\SharePoint\ At this point you should have a folder structure similar to this \SP\2010\ ForeFront LanguagePacks OfficeWebApps PDF SharePoint (Place the SP2010 binaries here) SP\2013\ ForeFront LanguagePacks PDF SharePoint (Place the SP2013 binaries here) SP\AutoSPInstaller AutoSPInstallerConfigureRemoteTarget.ps1 AutoSPInstallerFolderStructure.txt (Explains the folder structure further) AutoSPInstallerFunctions.ps1 AutoSPInstallerFunctionsCustom.ps1 AutoSPInstallerInput.xml (Example XML Configuration, do not edit this one. Leave it for reference) AutoSPInstallerLaunch.bat (Drag and Drop the XML configuration into this file to start the installation) AutoSPInstallerMain.ps1 Please Note You can keep both SharePoint versions binaries in the directories. The XML specifies which version will be installed. Configuration At this point we can begin configuring AutoSPInstaller using the GUI Extract the contents of the AutoSPInstallerGUI-XXXX.zip to any location ie D\Temp\SP\AutoSPInstaller Run AutoSPInstallerGUI.exe Optionally, you can drag and drop the AutoSPInstallerInput.xml into the executable To Load the Configuration Click on File then Load XML File Browse to the AutoSPInstaller dir ie D\Temp\SP\AutoSPInstaller Select the AutoSPInstallerInput.xml At this point complete all the configuration in the GUI Please Note Almost all of the controls have a Tool Tip associated with them Simply highlight the control and the Tool Tip will appear To Save the Configuration Do not overwrite AutoSPInstallerInput.xml, keep it as a reference file Click on File then Save AS XML File Save the file as a new file name Installation Copy the SP directory to all of the SharePoint Servers Optionally, the installation can be ran from a File Share Make sure that the logged on user has Local Admin on all the SharePoint Servers and SQL Permissions dbcreate and securityadmin Browse to the AutoSPInstaller dir ie D\Temp\SP\AutoSPInstaller On each SharePoint Server (One at the time) Drag the new XML file ie Farm A.xml into the AutoSPInstaller.bat Please Note If you double click on AutoSPInstaller.bat, it will use the AutoSPInstallerInput.xml config file by default AutoSPInstaller will now run, it will create a file on the Desktop which will contain the output of the PowerShell window and any errors If you have any questions please leave a comment. Enjoy! Tags Share Point SharePoint 2010 2013 deploy deployment script scripted automated automation installation configure configuration wizard Install SharePoint 2010 SharePoint 2013




Posted on:
Categories: SharePoint
Description:
Download the scripts HERE Pre installation Tips Read through all of Microsoft’s documentation http//technet.microsoft.com/en-us/sharepoint/ee441234 Read through the deployment guide (if you have not already) http//www.microsoft.com/download/en/details.aspx?displaylang=en&id=3343 Perform the installation at least once using the GUI prior to using the scripts Deploy Office Web Apps, in order to receive document previews Disable Chimney Offloading Show Settings using - netsh int tcp show global Set Settings using - netsh int tcp set global chimney=disabled Run SQLIO to test disk performance Disable Windows Defrag Exclude FAST Installation directory from your Anti-Virus, default dir is C\FASTSearch FQDN is case sensitive in the configuration Installation Copy the FAST installation bits to a Temp directory on the server (I will use D\Temp\FAST) Download FAST SP1 from http//support.microsoft.com/kb/2460039 Open PowerShell as Administrator Enter "Set-ExecutionPolicy bypass" Run the PrerequisiteInstaller.exe If it fails run it again Run fsserver.exe to install FAST Modify the certificate creation script. This will allow the cert to be valid longer than a year (Thanks Mikael Svenson) Navigate to “%FASTSearch%installer\scripts\include” Open certificatesetup.ps1 with Notepad etc Find Add-Content -Path $infFile -Value "SuppressDefaults=true" Append the following lines underneath it Add-Content -Path $infFile -Value "ValidityPeriod=Years" Add-Content -Path $infFile -Value "ValidityPeriodUnits=100" Set up the deployment.xml which is required for the Installation Microsoft Reference http//technet.microsoft.com/en-us/library/ff354931.aspx There are sample files in “%FASTSearch%etc” The files are named deployment.sample.multi1.xml deployment.sample.multi2.xml deployment.sample.single.xml For the purpose of this guide I will deploy a single server instance Run the “Microsoft FAST Search Server 2010 for SharePoint Configuration Wizard” Click Next Select Admin Server (Do not select Single Server!!!) Click Next Enter the service account credentials which FAST will use Click Next Enter a Certificate Password Click Next Enter the local Server FQDN (It is case sensitive!) Keep the base port number as is Locate the deployment.xml created earlier Click Next Enter the database connection string (At this time FAST does NOT support SQL aliases) Modify the database name if needed Modify the database port if needed Click Next Select SharePoint Farm Enter the Farm Account user name Click Next Review the configuration Click Configure Click Finish and reboot the server Install FAST SP1 and Permissions Fix Add your account to the FASTSearchAdministrators Windows Group Run fastsearchserver2010sp1-kb2460039-x64-fullfile-en-us.exe Open “Microsoft FAST Search Server 2010 for SharePoint” PowerShell Enter cd $EnvFASTSearch"installer\scripts" Enter .\psconfig.ps1 –action p Enter nctrl status Make sure all the services are Running Configure SharePoint (Thanks to Steve Goodyear for a portion of this script) Download and extract the FASTDeployment.zip to any location on the SharePoint Server Copy FASTSearchCert.pfx from the FAST Server to same location as the scripts Located in %FASTSearch%data\data_security\cert The directory should have the following files Edit the required parameters in FAST_Deployment-ConfigureSharePoint.ps1 All the required parameters can be found in %FASTSearch%Install_Info.txt Open PowerShell as the Farm Account Browse to the directory containing the scripts Enter .\FAST_Deployment-ConfigureSharePoint.ps1 Go and grab a coffee Copy SharePointCert.cer and FAST_Deployment-FastCerts.ps1 to the FAST Server It is located in the same directory as the scripts Open PowerShell Enter .\FAST_Deployment-FastCerts.ps1 Create a Local Windows group called FASTSearchKeywordAdministrators on the FAST Server Add the SharePoint Application Pool accounts to this group FAST is now deployed! If you have any questions please leave a comment. Enjoy!




Posted on:
Categories: SharePoint;CodePlex
Description:
Business Case It is important to monitor the adoption rate of any new product that is implemented. FAST Search for SharePoint is a great example, as this product is exposed to everyone. Through monitoring we have the ability to see how and what people are searching for, which enables us to tweak the product and further improve the experience. Issue FAST Search for SharePoint is Microsoft’s first attempt at integrating FAST with SharePoint. Overall the integration is inconsistent at best. They did their best to keep all the current features functional; owever, analytics is one of the components which has been missed or forgotten. Many of the out of the box analytics simply do not work with FAST. While site specific analytics do work, it is difficult to aggregate the data and make some meaningful conclusions. Solution We have developed “FS4SP Query Statistics” to resolve some of these shortcomings. This application will scan through the FAST Query logs and present statistics such as; Total Queries, Total Distinct users, Average Queries per user and many more. Follow the project on Codeplex at http//FS4SPQueryStatistics.codeplex.com If you have any questions please leave a comment. Enjoy! ​




Posted on:
Categories: SharePoint
Description:
Business Case SQL Server Reporting Services(SSRS) is becoming an integral component of any business today. Many of our clients have sites with hundreds of SSRS Reports. SharePoint 2010 with SSRS in Integrated mode simplifies the configuration and management of SSRS Reports by allowing many of the administration tasks to be configured through SharePoint. However there is one large caveat. When using Shared Data Sources setting the Report Data Source URLs is a manual and tedious procedure which has to be configured one report at a time. One can imagine that a site with a hundred reports can take a considerable amount of time. Furthermore, there are a number of scenarios where the Data Source information needs to be reconfigured When a SharePoint Cumulative Update is deployed We have noticed in the past that Data Sources are invalidated after a CU update and have to be reconfigured. SSRS rebuild There a number of cases where the SSRS server may need to be rebuilt, ie losing the encryption key. Initial Deployment The Data Source URLs have to be set during the initial deployment of the reports. Solution We have created two PowerShell scripts which will aid in this process Get-SSRSDataSourceInfo will iterate through all the reports in a Document Library and display the Data Source URLs for every Data Source. Simply run the function with a Document Library URL as the parameter. http//gallery.technet.microsoft.com/scriptcenter/Get-SSRS-Data-Source-19360302 Set-SSRSDataSourceInfo will set the Data Source URL for every report in a Document Library. Simply run the function with a Document Library URL, Data Source Name and Data Source URL parameters. http//gallery.technet.microsoft.com/scriptcenter/Set-SSRS-Data-Source-3b074747 If you have any questions please leave a comment. Enjoy! ​​




Posted on:
Categories: SharePoint
Description:
Normally, when you are saving to SharePoint using Microsoft Word, Excel or PowerPoint you are presented with the following 'Save As' dialog This does not allow you to edit the files or folders in the same way that you might be use to with the Windows file system because you're actually viewing the file and folder structure as a web page. In this instance, because you are viewing a web page, you do not have the ability to create new files or folders from within the 'Save As' dialog. You can work around this by mapping a drive to a SharePoint site. At this point you can drill down into the site using your newly mapped drive, select the specific folders that you use most often and then add them to your favorites list in Explorer Now, when you use the 'Save As' dialog in Word, Excel or PowerPoint you will now be able to manipulate the file system like you are used to when working with files and folders on your local file system. Useful Links http//support.sherweb.com/Faqs/Show/how-to-connect-to-a-sharepoint-site-using-webdav-sharepoint-2010 http//support.sherweb.com/Faqs/Show/how-to-connect-to-a-sharepoint-site-using-webdav-sharepoint-2010 http//blogs.technet.com/b/manjesh/archive/2010/01/03/all-about-explorer-view-in-sharepoint.aspx