Archive for October, 2009

Video on creating a PowerPack

If you are considering participating in the PowerPack Challenge contest (which you should ;)) this quick video by Darin will help you get started:

Darin walks you through the process of customizing PowerGUI admin console, exporting the new functionality as a PowerPack, and sharing it on the web.

  1. Check it out,
  2. Think about what you do day to day at work and what would be the graphical console of your dream,
  3. Create it,
  4. Submit it to the contest,
  5. And become one of the winners! πŸ™‚

Tags: , , , , ,

Better Together: PowerShell 2.0 and PowerGUI

Now that PowerShell v2 is officially released for all platforms: XP, 2003, Vista, 2008 (and obviously Windows 7 and Server 2008 R2) – HURRAY!!! –Β  let me quickly summarize how you can start immediately getting benefits from the new functionality once you upgrade PowerShell to 2.0 on the machine on which you use PowerGUI:

So what are you waiting for? Download PowerShell 2.0 now! πŸ™‚

The KB article also has a list of what’s new functionality for PowerShell 2.0. And this video from Kirk highlights most of it in action.

Recorded PowerShell Introductory Session from Quest Connect

What’s All This Talk about PowerShell Anyway?” which Kirk and I presented at the virtual tradeshow last week was recorded and is available here till January 22, 2010.

So, if you missed the session last week, check it out now (or send the link to anyone you wanted to get introduced to PowerShell.)

PowerPack Challenge 2009 Begins

bn-powerGUI-202x160Win $1000 and become a rockstar by creating a PowerPack and sharing it with the community!

PowerPacks are open-source PowerShell add-ons for PowerGUI Admin Console. Library has about 60 of them giving you customizable extensible user interfaces (and PowerShell libraries) to manage systems ranging from Exchange to Operations Manager, from VMware to Skype, from Twitter to Facebook.

Each year we are holding a competition and giving away prizes ($1000 to 2 winners, and $500 to the first runner up) to the most active participants and best PowerPacks.

PowerPack Challenge started this week and will last till November 15.

The judges this year include:

And with the popularity of PowerGUI, this contest is not only a great scripting challenge , but is also an incredible way to bring value to thousands of administrators world-wide.

If you are interested in the submissions we had last year and who became the winners in 2008 – you can read the last posts here.

  1. So think about the IT systems you manage and how you can make this management easier.
  2. Read the contest details at the PowerPack Challenge web page.
  3. Submit your PowerPack.
  4. Win the prizes and become a rock star!

What’s All This Talk about PowerShell Anyway?

Tomorrow (Oct 21) morning Kirk and I will be doing a webcast on PowerShell within the Quest Connect virtual tradeshow:

What’s All This Talk about PowerShell Anyway?

10:00 am BST/5:00 am EDT/2:00 am PDT
Add this Webcast to my Calendar

Dmitry Sotnikov, PowerShell MVP and Kirk Munro, PowerShell MVP – Quest Software

So what exactly is PowerShell? How does it make life as an Admin easier? Join this session conducted by Quest’s PowerShell MVPs, Dmitry Sotnikov and Kirk Munro, to learn more about PowerShell and see some real life examples of how PowerShell and Quest PowerGUI make managing your Microsoft infrastructure (Active Directory, Exchange, Hyper-V and more) easier!

We will really start with basic overview of what PowerShell is, then compare it to other alternatives such as VBScript, then Kirk will dive into a step-by-step example of automating tasks such as provisioning in Active Directory, and then will answer any questions you might have.

Besides this session the agenda is packed with a lot of useful material on Windows Server 2008 R2, AD, Identity Management, Exchange 2010, Virtualization, Cloud Computing, SharePoint, SQL, Oracle – see full agenda here.

This online show is a great learning alternative if you cannot make it to TechEd Europe this year. It is co-sponsored by Quest, Microsoft, Dell, NetApp, Vizioncore, Scriptlogic, Techrepublic, Oracle Magazine, Redmond Magazine, and The Code Project. The speaker line up is also pretty good. The show last year was a success – see some feedback here – so hopefully this year it will be even better.

Register for the event here and don’t forget to attend our PowerShell session! πŸ˜‰ Virtually see you tomorrow!

SharePoint 2010 PowerShell Cmdlets Reference

[UPDATE] Below is basically a list of cmdlets. For actual examples of their use see this getting started guide.

Now that the NDA on SharePoint 2010 is finally lifted at Microsoft SharePoint Conference in Las Vegas I cannot help publishing this quick reference of all the 492(!) cmdlets available in the current beta release. I am including quick help information for the cmdlets which already have help.

[UPDATE: Oct 20: updated the reference to include 25 cmdlets I missed yesterday.]

These are listed by the names of objects they manage and sorted alphabetically – so scroll down for SPFarm, SPSite, SPUser, and so on.


  • Get-SPAccessServiceApplication – Gets an {Access Service} application object.
  • New-SPAccessServiceApplication
  • Set-SPAccessServiceApplication – Sets a global property for an {Access Services} application.


  • Start-SPAdminJob – Immediately starts any waiting administrative job on the local computer.


  • Get-SPAlternateURL – Return all alternate URLs that match a given criteria.
  • New-SPAlternateUrl – Creates a new public or internal URL for the specified Web application zone or resource.
  • Remove-SPAlternateUrl – Completely deletes the specified alternate URL.
  • Set-SPAlternateUrl – Configures the specified alternate URL.


  • Install-SPApplicationContent


  • Start-SPAssignment – Initiates a new assignment store.
  • Stop-SPAssignment – Disposes of objects in the provided Assignment Collection.


  • Get-SPBackupHistory


  • Move-SPBlobStorageLocation


  • Get-SPBrowserCustomerExperienceImprovementProgram
  • Set-SPBrowserCustomerExperienceImprovementProgram


  • Copy-SPBusinessDataCatalogAclToChildren


  • Disable-SPBusinessDataCatalogEntity
  • Enable-SPBusinessDataCatalogEntity


  • Get-SPBusinessDataCatalogMetadataObject
  • Grant-SPBusinessDataCatalogMetadataObject
  • Revoke-SPBusinessDataCatalogMetadataObject
  • Set-SPBusinessDataCatalogMetadataObject


  • Export-SPBusinessDataCatalogModel
  • Import-SPBusinessDataCatalogModel
  • Remove-SPBusinessDataCatalogModel


  • Remove-SPBusinessDataCatalogPartition


  • Clear-SPBusinessDataCatalogPartitionData
  • Export-SPBusinessDataCatalogPartitionData
  • Import-SPBusinessDataCatalogPartitionData


  • New-SPBusinessDataCatalogServiceApplication
  • Set-SPBusinessDataCatalogServiceApplication


  • New-SPBusinessDataCatalogServiceApplicationProxy


  • Get-SPBusinessDataCatalogThrottleConfig
  • Remove-SPBusinessDataCatalogThrottleConfig
  • Set-SPBusinessDataCatalogThrottleConfig


  • New-SPCentralAdministration – Creates a new Central Administration Web application.
  • Set-SPCentralAdministration


  • Get-SPCertificate
  • New-SPCertificate
  • Remove-SPCertificate


  • Get-SPCertificateStore


  • Add-SPClaimMapping
  • New-SPClaimMapping
  • Remove-SPClaimMapping


  • Get-SPClaimProviderManager


  • New-SPClaimsObject


  • New-SPClaimsPrincipal


  • Backup-SPConfigurationDatabase – Performs a configuration only backup.
  • Connect-SPConfigurationDatabase – Connects the computer to an existing configuration database.
  • Disconnect-SPConfigurationDatabase
  • New-SPConfigurationDatabase – Creates a new configuration database.
  • Remove-SPConfigurationDatabase – Permanently removes the specified configuration database.


  • Check-SPContentDatabase
  • Dismount-SPContentDatabase
  • Get-SPContentDatabase
  • Initialize-SPContentDatabase
  • Mount-SPContentDatabase
  • New-SPContentDatabase
  • Remove-SPContentDatabase
  • Set-SPContentDatabase
  • Upgrade-SPContentDatabase


  • Get-SPContentDeploymentJob
  • New-SPContentDeploymentJob
  • Remove-SPContentDeploymentJob
  • Set-SPContentDeploymentJob
  • Start-SPContentDeploymentJob


  • Get-SPContentDeploymentPath
  • New-SPContentDeploymentPath
  • Remove-SPContentDeploymentPath
  • Set-SPContentDeploymentPath


  • Get-SPCustomLayoutsPage
  • Set-SPCustomLayoutsPage


  • Get-SPDatabase – Retrieves all properties of a database.


  • Get-SPDataConnectionFile – Returns a data connection file or a collection of data connection files.
  • Install-SPDataConnectionFile – Installs the provided data connection file.
  • Set-SPDataConnectionFile – Sets properties of a data connection file.
  • Uninstall-SPDataConnectionFile – Removes a data connection file.


  • Get-SPDataConnectionFileDependent – Returns administrator deployed form templates on the server dependent on a Universal Data Connection (UDC).


  • Get-SPDesignerSettings
  • Set-SPDesignerSettings


  • Get-SPDiagnosticConfig
  • Set-SPDiagnosticConfig


  • Get-SPDiagnosticsProvider
  • Set-SPDiagnosticsProvider


  • Set-SPediscoveryHub


  • Get-SPEdiscoveryHubSearchScope


  • Get-SPediscoveryHubSite


  • Get-SPEnterpriseSearchAdministrationComponent – Returns the administration component for a shared search application.
  • Set-SPEnterpriseSearchAdministrationComponent – Sets properties of an administration component for a shared search application.


  • Get-SPEnterpriseSearchCrawlComponent – Returns a crawl component for a shared search application.
  • New-SPEnterpriseSearchCrawlComponent – Creates a crawl component for a shared search application.
  • Remove-SPEnterpriseSearchCrawlComponent – Deletes a crawl component from a shared search application.


  • Get-SPEnterpriseSearchCrawlContentSource – Returns a crawl content source.
  • New-SPEnterpriseSearchCrawlContentSource – Creates a new crawl content source for a shared search application.
  • Remove-SPEnterpriseSearchCrawlContentSource – Deletes a specified crawl content source from a search application.
  • Set-SPEnterpriseSearchCrawlContentSource – Sets the properties of a crawl content source for a shared search application.


  • Get-SPEnterpriseSearchCrawlCustomConnector
  • New-SPEnterpriseSearchCrawlCustomConnector
  • Remove-SPEnterpriseSearchCrawlCustomConnector


  • Get-SPEnterpriseSearchCrawlDatabase – Returns a crawl store.
  • New-SPEnterpriseSearchCrawlDatabase – Adds a crawl store to a shared search application.
  • Remove-SPEnterpriseSearchCrawlDatabase – Deletes a content crawl store.
  • Set-SPEnterpriseSearchCrawlDatabase


  • Get-SPEnterpriseSearchCrawlExtension – Returns the extension rule for the extension collection.
  • New-SPEnterpriseSearchCrawlExtension – Adds an extension rule to a shared search application.
  • Remove-SPEnterpriseSearchCrawlExtension – Removes a file name extension from the list of files that can be crawled.


  • Get-SPEnterpriseSearchCrawlMapping – Returns a crawl mapping for the search application.
  • New-SPEnterpriseSearchCrawlMapping – Creates a crawl mapping rule for a shared search application.
  • Remove-SPEnterpriseSearchCrawlMapping – Deletes a crawl mapping.


  • Get-SPEnterpriseSearchCrawlRule – Output an CrawlRule Object.
  • New-SPEnterpriseSearchCrawlRule – Output an CrawlRule Object.
  • Remove-SPEnterpriseSearchCrawlRule – Output an CrawlRule Object.
  • Set-SPEnterpriseSearchCrawlRule – Output an CrawlRule Object.


  • Get-SPEnterpriseSearchCrawlTopology – Returns a crawl topology.
  • New-SPEnterpriseSearchCrawlTopology – Adds a crawl topology to a shared search application.
  • Remove-SPEnterpriseSearchCrawlTopology – Deletes a crawl topology.
  • Set-SPEnterpriseSearchCrawlTopology – Sets the properties of a crawl topology on a shared search application.


  • Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition


  • Get-SPEnterpriseSearchExtendedConnectorProperty
  • Set-SPEnterpriseSearchExtendedConnectorProperty


  • Get-SPEnterpriseSearchExtendedQueryProperty
  • Set-SPEnterpriseSearchExtendedQueryProperty


  • Get-SPEnterpriseSearchIndexPartition – Returns an index partition for a query topology.
  • Set-SPEnterpriseSearchIndexPartition – Sets properties of an index partition for a query topology.


  • Get-SPEnterpriseSearchLanguageResourcePhrase – Returns a language resource phrase.
  • New-SPEnterpriseSearchLanguageResourcePhrase – Adds a language resource phrase to a shared search application.
  • Remove-SPEnterpriseSearchLanguageResourcePhrase – Deletes a language resource phrase from a shared search application.


  • Get-SPEnterpriseSearchManagerService – Returns the search manager service.


  • Get-SPEnterpriseSearchManagerServiceInstance – Returns the service manager service instance.
  • Start-SPEnterpriseSearchManagerServiceInstance – Starts an instance of a search manager service.
  • Stop-SPEnterpriseSearchManagerServiceInstance – Stops an instance of a search manager service.


  • Get-SPEnterpriseSearchManagerServiceProxy – Returns the search manager service proxy.


  • Get-SPEnterpriseSearchMetadataCategory – Returns a crawled property category.
  • New-SPEnterpriseSearchMetadataCategory – Adds a crawled property category to a shared search application.
  • Remove-SPEnterpriseSearchMetadataCategory – Deletes a crawled property category.
  • Set-SPEnterpriseSearchMetadataCategory – Sets properties of a crawled property category for a shared search application.


  • Get-SPEnterpriseSearchMetadataCrawledProperty – Returns a crawled property.
  • New-SPEnterpriseSearchMetadataCrawledProperty – Adds a crawled property category to a shared search application.
  • Set-SPEnterpriseSearchMetadataCrawledProperty – Sets the properties of a metadata crawled property for a shared search application.


  • Get-SPEnterpriseSearchMetadataManagedProperty – Returns a managed property.
  • New-SPEnterpriseSearchMetadataManagedProperty – Adds a managed property to a shared search application.
  • Remove-SPEnterpriseSearchMetadataManagedProperty – Deletes a metadata managed property.
  • Set-SPEnterpriseSearchMetadataManagedProperty – Sets the properties of a metadata managed property.


  • Get-SPEnterpriseSearchMetadataMapping – Returns the current state of a managed property mapping.
  • New-SPEnterpriseSearchMetadataMapping – Adds a managed property mapping to a shared search application.
  • Remove-SPEnterpriseSearchMetadataMapping – Deletes a metadata mapping from a managed property.
  • Set-SPEnterpriseSearchMetadataMapping – Sets the properties of a managed property mapping for a shared search application.


  • Get-SPEnterpriseSearchPropertyDatabase – Returns a property store.
  • New-SPEnterpriseSearchPropertyDatabase – Adds a new property store to a shared search application.
  • Remove-SPEnterpriseSearchPropertyDatabase – Deletes a property store.
  • Set-SPEnterpriseSearchPropertyDatabase


  • Get-SPEnterpriseSearchQueryAuthority – Returns an authoritative page.
  • New-SPEnterpriseSearchQueryAuthority – Adds an authoritative page to a shared search application.
  • Remove-SPEnterpriseSearchQueryAuthority – Deletes an authoritative page.
  • Set-SPEnterpriseSearchQueryAuthority – Sets the properties of an authoritative page for a shared search application.


  • Get-SPEnterpriseSearchQueryComponent – Returns a query component.
  • New-SPEnterpriseSearchQueryComponent – Adds a query component to a query topology.
  • Remove-SPEnterpriseSearchQueryComponent – Deletes a query component.
  • Restart-SPEnterpriseSearchQueryComponent
  • Set-SPEnterpriseSearchQueryComponent


  • Get-SPEnterpriseSearchQueryDemoted – Returns a demoted site rule.
  • New-SPEnterpriseSearchQueryDemoted – Adds a demoted site rule to a shared search application.
  • Remove-SPEnterpriseSearchQueryDemoted – Deletes a demoted site rule.


  • Get-SPEnterpriseSearchQueryKeyword – Returns a keyword term.
  • New-SPEnterpriseSearchQueryKeyword – Adds a keyword term to a shared search application.
  • Remove-SPEnterpriseSearchQueryKeyword – Deletes a query keyword.
  • Set-SPEnterpriseSearchQueryKeyword – Sets the properties of a keyword term for a shared search application.


  • Get-SPEnterpriseSearchQueryScope – Returns a query results scope.
  • New-SPEnterpriseSearchQueryScope – Adds a query results scope to a shared search application.
  • Remove-SPEnterpriseSearchQueryScope – Deletes a query scope.
  • Set-SPEnterpriseSearchQueryScope – Sets the properties of a query results scope for a shared search application.


  • Get-SPEnterpriseSearchQueryScopeRule – Returns a shared scope rule.
  • New-SPEnterpriseSearchQueryScopeRule – Adds a shared scope rule to a query scope.
  • Remove-SPEnterpriseSearchQueryScopeRule – Deletes query results scope rules.
  • Set-SPEnterpriseSearchQueryScopeRule – Sets the properties of a shared scope rule for a query scope.


  • Get-SPEnterpriseSearchQuerySuggestionCandidates


  • Get-SPEnterpriseSearchQueryTopology – Returns a query topology.
  • New-SPEnterpriseSearchQueryTopology – Adds a query topology to a shared search application.
  • Remove-SPEnterpriseSearchQueryTopology – Deletes a query topology.
  • Set-SPEnterpriseSearchQueryTopology – Sets the properties of a query topology for a shared search application.


  • Get-SPEnterpriseSearchRankingModel – Returns a ranking model.
  • New-SPEnterpriseSearchRankingModel – Adds a ranking model to a shared search application.
  • Remove-SPEnterpriseSearchRankingModel – Deletes a ranking model.
  • Set-SPEnterpriseSearchRankingModel – Sets the properties of a ranking model for a shared search application.


  • Get-SPEnterpriseSearchSecurityTrimmer – Returns a custom security trimmer.
  • New-SPEnterpriseSearchSecurityTrimmer – Adds a custom security trimmer to a shared search application.
  • Remove-SPEnterpriseSearchSecurityTrimmer – Deletes a custom security trimmer.


  • Get-SPEnterpriseSearchService – Returns the search service for the farm.
  • Set-SPEnterpriseSearchService – Sets the properties of a search service for a farm.


  • Get-SPEnterpriseSearchServiceApplication – Returns the search service application for a farm.
  • New-SPEnterpriseSearchServiceApplication – Adds a search service application to a farm.
  • Remove-SPEnterpriseSearchServiceApplication – Deletes a search service application.
  • Restore-SPEnterpriseSearchServiceApplication
  • Set-SPEnterpriseSearchServiceApplication – Sets the properties of a search service application for a farm.
  • Upgrade-SPEnterpriseSearchServiceApplication


  • Get-SPEnterpriseSearchServiceApplicationProxy – Returns the search service application proxy.
  • New-SPEnterpriseSearchServiceApplicationProxy – Adds a site hit rule for a search application.
  • Remove-SPEnterpriseSearchServiceApplicationProxy – Deletes a search service application proxy.
  • Set-SPEnterpriseSearchServiceApplicationProxy – Sets properties of a search service application proxy.


  • Get-SPEnterpriseSearchServiceInstance – Returns the search service instance for a farm.
  • Set-SPEnterpriseSearchServiceInstance – Sets the properties of a search service instance.
  • Start-SPEnterpriseSearchServiceInstance – Starts an instance of a search service.
  • Stop-SPEnterpriseSearchServiceInstance – Stops an instance of a search service.


  • Get-SPEnterpriseSearchSiteHitRule – Returns shared site hit rule.
  • New-SPEnterpriseSearchSiteHitRule – Output an SiteHitRule Object.
  • Remove-SPEnterpriseSearchSiteHitRule – Output an SiteHitRule Object.


  • Export-SPEnterpriseSearchTopology – Saves an existing search topology.
  • Import-SPEnterpriseSearchTopology – Imports and activates a topology from an XML file.


  • Get-SPExcelBlockedFileType
  • New-SPExcelBlockedFileType
  • Remove-SPExcelBlockedFileType


  • Get-SPExcelDataConnectionLibrary
  • New-SPExcelDataConnectionLibrary
  • Remove-SPExcelDataConnectionLibrary
  • Set-SPExcelDataConnectionLibrary


  • Get-SPExcelDataProvider
  • New-SPExcelDataProvider
  • Remove-SPExcelDataProvider
  • Set-SPExcelDataProvider


  • Get-SPExcelFileLocation
  • New-SPExcelFileLocation
  • Remove-SPExcelFileLocation
  • Set-SPExcelFileLocation


  • Get-SPExcelServiceApplication – Gets an {Excel Service} application object.
  • New-SPExcelServiceApplication
  • Set-SPExcelServiceApplication – Sets a global property for an {Excel Services} application.


  • Get-SPExcelUserDefinedFunction
  • New-SPExcelUserDefinedFunction
  • Remove-SPExcelUserDefinedFunction
  • Set-SPExcelUserDefinedFunction


  • Backup-SPFarm – Creates a backup of an individual database, Web application, or the entire farm.
  • Get-SPFarm – Returns the local SharePoint farm.
  • Restore-SPFarm


  • Get-SPFarmConfig
  • Set-SPFarmConfig


  • Update-SPFarmEncryptionKey – Changes the farm encryption key to a new value and re-encrypts all data currently encrypted with the current farm encryption key with the new one.


  • Disable-SPFeature – Disables an installed feature at a given scope.
  • Enable-SPFeature – Enables an installed feature at the given scope.
  • Get-SPFeature – Returns the features based on a give scope.
  • Install-SPFeature – Install a feature using the Feature.xml file.
  • Uninstall-SPFeature – Uninstalls an installed feature definition.


  • Get-SPFeatureSet
  • New-SPFeatureSet
  • Remove-SPFeatureSet


  • Add-SPFeatureSetMember
  • Remove-SPFeatureSetMember


  • Get-SPHelpCollection
  • Install-SPHelpCollection – Install the provided help collection files.
  • Uninstall-SPHelpCollection


  • Get-SPIdentityProvider
  • New-SPIdentityProvider
  • Remove-SPIdentityProvider
  • Set-SPIdentityProvider


  • Get-SPIisWebServiceApplicationPool – Returns the specified Internet Information Services (IIS) Application pool.
  • New-SPIisWebServiceApplicationPool – Creates a new Web service application pool.
  • Remove-SPIisWebServiceApplicationPool – Completely deletes the specified Web service application pool.
  • Set-SPIisWebServiceApplicationPool – Changes the account used for the Identity of the specified application pool.


  • Get-SPIisWebServiceSettings – Returns the common Web Service settings.
  • Set-SPIisWebServiceSettings – Configures one or more common settings for all Web services.


  • Export-SPInfoPathAdministrationFiles – Saves form templates on the SharePoint Central Administration Web site and UDCX files to a CAB file.
  • Import-SPInfoPathAdministrationFiles – Imports form templates and UDCX files located on the SharePoint Central Administration Web site.


  • Get-SPInfoPathFormsService – Returns the forms service settings in the farm.
  • Set-SPInfoPathFormsService – Sets paramaters for the InfoPath Forms Services.


  • Disable-SPInfoPathFormTemplate – Deactivate a form template from the specified site collection.
  • Enable-SPInfoPathFormTemplate – Activates a form template in the specified site collection.
  • Get-SPInfoPathFormTemplate – Returns an InfoPath form template.
  • Install-SPInfoPathFormTemplate – Installs an InfoPath form template on a farm.
  • Set-SPInfoPathFormTemplate – Sets properties of an InfoPath form template.
  • Start-SPInfoPathFormTemplate – Unquieces an InfoPath form template on a farm after an upgrade.
  • Stop-SPInfoPathFormTemplate – Disables an InfoPath form template on a farm before an upgrade.
  • Test-SPInfoPathFormTemplate – Validates that a form template can be browser-enabled.
  • Uninstall-SPInfoPathFormTemplate – Removes a form template from a farm.
  • Update-SPInfoPathFormTemplate – Upgrades all forms templates on the farm.


  • Update-SPInfoPathUrl – Executes InfoPath XSN/UDC fix-up on SharePoint Services.


  • Add-SPInfoPathUserAgent – Adds a user agent to a farm.
  • Get-SPInfoPathUserAgent – Returns a user agent or all the currently defined user agents for the farm.
  • Remove-SPInfoPathUserAgent – Removes a user agent.


  • Get-SPInfoPathWebServiceProxy – Returns the Web proxy settings for the Web application.
  • Set-SPInfoPathWebServiceProxy – Sets parameters for an existing SharePoint Web service application.


  • Get-SPLogEvent


  • Merge-SPLogFile
  • New-SPLogFile


  • Clear-SPLogLevel
  • Get-SPLogLevel
  • Set-SPLogLevel


  • Get-SPManagedAccount – Retrieves accounts registered in configuration database.
  • New-SPManagedAccount – Registers a new managed account.
  • Remove-SPManagedAccount – Removes a managed account from the farm.
  • Set-SPManagedAccount – Configures the managed account.


  • Get-SPManagedPath – Returns all managed paths that match the given criteria.
  • New-SPManagedPath – Creates a new managed path for the given Web application for all host header site collections.
  • Remove-SPManagedPath – Deletes the specified managed path from the specified host header or Web application.


  • Get-SPMetadataServiceApplication – Get a MetadataWebServiceApplication instance
  • New-SPMetadataServiceApplication – Create a Metadata Shared Service Application
  • Set-SPMetadataServiceApplication – Set properties on a Metadata Shared Service Application


  • Get-SPMetadataServiceApplicationProxy – Get a MetadataWebServiceApplicationProxy instance
  • New-SPMetadataServiceApplicationProxy – Create proxy for remote or local Metadata shared service application
  • Set-SPMetadataServiceApplicationProxy – Update metadata proxy settings


  • Clear-SPMetadataWebServicePartitionData
  • Export-SPMetadataWebServicePartitionData
  • Import-SPMetadataWebServicePartitionData


  • Get-SPMobileMessagingAccount – Retrieves mobile messaging accounts for the specified Web application.
  • Set-SPMobileMessagingAccount – Configures the specified mobile messaging account.


  • New-SPObaSolutionPackage


  • Get-SPObjectSecurity – Returns the security information for the specified service application.


  • Get-SPParentFarmTrust
  • New-SPParentFarmTrust
  • Remove-SPParentFarmTrust
  • Set-SPParentFarmTrust


  • Set-SPPassPhrase – Sets the Passphrase to a new value.


  • Get-SPProcessAccount


  • Get-SPProduct – Returns a list of the SharePoint related products installed in the farm and the versions of all updates installed for each of them.


  • New-SPProfileServiceApplication
  • Set-SPProfileServiceApplication


  • New-SPProfileServiceApplicationProxy
  • Set-SPProfileServiceApplicationProxy


  • Add-SPProfileServiceApplicationTenant
  • Export-SPProfileServiceApplicationTenant
  • Import-SPProfileServiceApplicationTenant
  • Remove-SPProfileServiceApplicationTenant
  • Set-SPProfileServiceApplicationTenant


  • Initialize-SPResourceSecurity


  • Get-SPSearchService – Returns a search service.
  • Set-SPSearchService – Sets properties of a search service.


  • Get-SPSearchServiceInstance – Returns an instance of a search service.
  • Set-SPSearchServiceInstance – Sets properties of a search service instance.


  • Get-SPSecureStoreApplication
  • New-SPSecureStoreApplication
  • Remove-SPSecureStoreApplication
  • Set-SPSecureStoreApplication


  • New-SPSecureStoreApplicationField


  • Update-SPSecureStoreApplicationServerKey


  • Clear-SPSecureStoreCredentialMapping
  • Update-SPSecureStoreCredentialMapping


  • Update-SPSecureStoreGroupCredentialMapping


  • Update-SPSecureStoreMasterKey


  • New-SPSecureStoreServiceApplication
  • Set-SPSecureStoreServiceApplication


  • New-SPSecureStoreServiceApplicationProxy


  • New-SPSecureStoreTargetApplication


  • Get-SPSecurityTokenService


  • Get-SPServer – Returns the server(s) in the farm that match the given identity.
  • Rename-SPServer – Renames a server that is currently connected to the farm.


  • Get-SPServiceApplication – Return the specified service application.
  • Grant-SPServiceApplication – Grants a user account access to the Service Application.
  • Publish-SPServiceApplication – Share the specified local Service Application outside the farm.
  • Remove-SPServiceApplication – Deletes the specified service application on the local server.
  • Revoke-SPServiceApplication – Revokes a user’s access to a service application.
  • Set-SPServiceApplication
  • Unpublish-SPServiceApplication – Stop sharing the specified service application outside the farm.


  • Get-SPServiceApplicationProxy – Returns an instance of the specified Service Application Proxy.
  • Remove-SPServiceApplicationProxy – Delete the specified service application proxy.


  • Get-SPServiceApplicationProxyGroup – Returns the proxy group for the specified service application.
  • New-SPServiceApplicationProxyGroup – Creates a new service application proxy group.
  • Remove-SPServiceApplicationProxyGroup – Completely deletes the specified service application proxy group.


  • Add-SPServiceApplicationProxyGroupMember – Adds a member to the service application proxy group.
  • Remove-SPServiceApplicationProxyGroupMember – Removes one or more proxies from the specified service application proxy group.


  • Get-SPServiceContext


  • Get-SPServiceEndpoint
  • Set-SPServiceEndpoint


  • Get-SPServiceInstance – Returns the services instance for a specific server or the farm.
  • Start-SPServiceInstance – Starts the Service Instance for a Service on a specific server or the farm.
  • Stop-SPServiceInstance – Stops the Service Instance for a Service.


  • Disable-SPSessionStateService
  • Enable-SPSessionStateService
  • Get-SPSessionStateService
  • Set-SPSessionStateService


  • Receive-SPSharedServiceApplicationInfo


  • Disable-SPSingleSignOn – Disables the SharePoint Single Sign On service


  • Upgrade-SPSingleSignOnDatabase – Upgrades the SSO 12 data to a Secure Store database


  • Backup-SPSite – Performs a backup of a site collection.
  • Get-SPSite – Returns all site collections that match the given criteria.
  • New-SPSite – Creates a new site collection at the specified URL.
  • Remove-SPSite – Completely deletes an existing site collection and all sub-sites.
  • Restore-SPSite – Restores a site collection.
  • Set-SPSite – Configures the specified sites.


  • Get-SPSiteAdministration – Returns a site administration object which allows a farm administrator to view certain information about site collections they may not have access to.
  • Set-SPSiteAdministration – Allows farm administrators to configure any site collection.


  • Get-SPSiteSubscription – Returns the site subscription for the given URL or all site subscriptions in the local farm.
  • New-SPSiteSubscription – Creates a new site subscription.
  • Remove-SPSiteSubscription – Removes a site subscription along with all contained site collections and settings.


  • Get-SPSiteSubscriptionConfig
  • Set-SPSiteSubscriptionConfig


  • Get-SPSiteSubscriptionMetadataConfig
  • Remove-SPSiteSubscriptionMetadataConfig
  • Set-SPSiteSubscriptionMetadataConfig


  • Export-SPSiteSubscriptionSettings
  • Import-SPSiteSubscriptionSettings
  • Remove-SPSiteSubscriptionSettings


  • Add-SPSolution
  • Get-SPSolution
  • Install-SPSolution
  • Remove-SPSolution
  • Uninstall-SPSolution
  • Update-SPSolution


  • Remove-SPSolutionDeploymentLock


  • Get-SPStateServiceApplication
  • New-SPStateServiceApplication
  • Set-SPStateServiceApplication


  • Get-SPStateServiceApplicationProxy
  • New-SPStateServiceApplicationProxy
  • Set-SPStateServiceApplicationProxy


  • Dismount-SPStateServiceDatabase
  • Get-SPStateServiceDatabase
  • Initialize-SPStateServiceDatabase
  • Mount-SPStateServiceDatabase
  • New-SPStateServiceDatabase
  • Remove-SPStateServiceDatabase
  • Resume-SPStateServiceDatabase
  • Set-SPStateServiceDatabase
  • Suspend-SPStateServiceDatabase


  • New-SPSubscriptionSettingsServiceApplication
  • Set-SPSubscriptionSettingsServiceApplication


  • New-SPSubscriptionSettingsServiceApplicationProxy


  • Get-SPTaxonomySession – Get a TaxonomySession instance


  • Disable-SPTimerJob
  • Enable-SPTimerJob
  • Get-SPTimerJob
  • Set-SPTimerJob
  • Start-SPTimerJob


  • Get-SPTopologyWebServiceApplication
  • Set-SPTopologyWebServiceApplication


  • Get-SPTopologyWebServiceProxy
  • Set-SPTopologyWebServiceProxy


  • Get-SPUsageApplication
  • New-SPUsageApplication
  • Remove-SPUsageApplication
  • Set-SPUsageApplication


  • Get-SPUsageDefinition
  • Set-SPUsageDefinition


  • New-SPUsageLogFile


  • Get-SPUsageService
  • Set-SPUsageService


  • Get-SPUser – Returns the user(s) that match a given search criteria.
  • Move-SPUser – Migrates a user account in .
  • New-SPUser – Adds an existing user to a site with the designated permissions.
  • Remove-SPUser – Removes a user from a web site.
  • Set-SPUser – Configures properties on an existing user.


  • Update-SPUserProfilePhotoStore


  • Add-SPUserSolution
  • Get-SPUserSolution
  • Install-SPUserSolution
  • Remove-SPUserSolution
  • Uninstall-SPUserSolution
  • Update-SPUserSolution


  • Get-SPVisioExternalData – Returns the settings for external data connections for a Visio Service application.
  • Set-SPVisioExternalData


  • Get-SPVisioPerformance – Returns the Visio Graphics Services settings for the performance of a Visio Service application.
  • Set-SPVisioPerformance – Sets performance properties for a Visio Services application.


  • Get-SPVisioSafeDataProvider – Returns the settings of a safe data provider for a Visio Services application.
  • New-SPVisioSafeDataProvider – Adds a new data provider to a Visio Services application.
  • Remove-SPVisioSafeDataProvider – Removes a data provider from a Visio Services application.
  • Set-SPVisioSafeDataProvider – Specifies a description of a safe data provider for a Visio Services application.


  • Get-SPVisioServiceApplication – Returns properties of a Visio Services application or a collection of Visio Services applications.
  • New-SPVisioServiceApplication – Adds a new Visio Services application to a farm.
  • Remove-SPVisioServiceApplication – Removes a Visio Services application from a farm.
  • Set-SPVisioServiceApplication – Sets the ServiceApplicationPool property of a Visio Services application.


  • Get-SPVisioServiceApplicationProxy – Returns properties of a Visio Services application proxy or a collection of Visio Services application proxies.
  • New-SPVisioServiceApplicationProxy – Adds a new Visio Services application proxy to a farm.
  • Remove-SPVisioServiceApplicationProxy – Removes a Visio Services application proxy from a farm.


  • Export-SPWeb – Exports a site collection, Web application, list, or library.
  • Get-SPWeb – Returns all sub-sites that match the given criteria.
  • Import-SPWeb – Imports a site collection, Web application, list, or library.
  • New-SPWeb – Creates a new sub-site under any existing site collection.
  • Remove-SPWeb – Completely deletes the specified Web.
  • Set-SPWeb – Configures the specified sub-site.


  • Get-SPWebAnalyticsServiceApplication – Returns the settings for a Web Analytics Service application.
  • New-SPWebAnalyticsServiceApplication – Adds a new Web Analytics Service application to the farm.
  • Set-SPWebAnalyticsServiceApplication – Sets properties of a Web Analytics Service application.


  • New-SPWebAnalyticsServiceApplicationProxy – Adds a new Web Analytics Service application proxy to the farm.


  • Get-SPWebApplication – Returns all Web applications that match the given criteria.
  • New-SPWebApplication – Creates a new Web application within the local farm.
  • Remove-SPWebApplication – Deletes the specified Web application.
  • Set-SPWebApplication – Configure the specified Web application.


  • New-SPWebApplicationExtension – Creates a new zone instance for the Web application.


  • Disable-SPWebApplicationHttpThrottling
  • Enable-SPWebApplicationHttpThrottling


  • Set-SPWebApplicationHttpThrottlingMonitor


  • Get-SPWebApplicationHttpThrottlingMonitors


  • Set-SPWebApplicationSiginRedirectUrl


  • Get-SPWebPartPack – Return the Web part packages installed for the specified scope.
  • Install-SPWebPartPack – Installs the specified Web part package to the specified location.
  • Uninstall-SPWebPartPack – Uninstall the specified Web part package.


  • Get-SPWebTemplate – Displays all globally installed site templates that match the given identity.
  • Install-SPWebTemplate – Installs the given site template.
  • Set-SPWebTemplate – Changes the title and description of an installed site template.
  • Uninstall-SPWebTemplate – Uninstall the given site template.


  • New-SPWordConversionServiceApplication – Creates a new service application.
  • Set-SPWordConversionServiceApplication – Sets parameters on a service application.


  • New-SPWordConversionServiceApplicationProxy – Creates a new service application proxy.


  • Get-SPWorkflowConfig – Returns workflow settings for the specified Web application.
  • Set-SPWorkflowConfig – Configures the workflow settings for the specified Web application.

PowerGUI surpasses 500K downloads

The most popular free PowerShell tool (or a set of two tools: PowerShell Script Editor/Debugger and Graphical Administrative Console) got downloaded more than half a million times. Wow…

You can actually track the download counter yourself when you go to PowerGUI downloads page:


Now, 500,000 downloads is not equal to 500,000 users. Someone could have tried it and may not be using it today (although I would recommend that you give it another try – we are getting better with each new release!) and this is total downloads number of all releases starting the first beta we made available in early 2007. So if you have been with us all these years we have probably counted you quite a few times here! πŸ˜‰

But even with this disclaimer, 500,000 is a huge number! Thanks to everyone using the tool, participating in our online PowerShell community, submitting your PowerPacks to the add-on library, and just helping others on the discussion forum! It is a big day for all of us!

What’s new in PowerGUI 1.9.5

Yesterday we shipped the latest release of PowerGUI – the most popular PowerShell IDE and Admin console out there. πŸ˜‰ Both components got improved.

Administrative console now has:

  • Ability to automatically check for PowerPack updates when it starts – so if you are a PowerGUI user you can now be sure that all your PowerPacks (PowerGUI addons from PowerGUI library or any other intranet/internet location) are up to date.
  • Improved grid performance – we are now much faster when displaying large datasets (a lot of objects with many properties.)
  • Progress bars – you can use write-progress cmdlet in your PowerPack code to display progress bar for long operations.

Script Editor and Debugger:

  • Also write-progress support – see Alan’s video on how nice it is compared to the one on native blue window. πŸ˜‰
  • Customizable tab settings: You can have all tabs in the editor replaced with specified number of spaces. On the Tools menu, click Options, then on the Text Editor tab select whether you want to substitute tabs with spaces and the number of spaces.
  • Support the prompt function in the PowerShell Console window: if you have customized your PowerShell prompt – we will now use your custom prompt in our console pane.
  • Collapse regions in the Admin console or the Script Editor: all regions are collapsed when reopening a file or a script.

And we have obviously fixed a bunch of issues reported at our community forums.

Download PowerGUI 1.9.5 from the website today or wait about a week till we turn on automated updates for existing customers.

Tags: , ,

Find users in too many groups

Large Kerberos tokens (caused by too many groups listed in them) can be an issue in some environments (I’ve just had a similar trouble myself in an ADFS deployment). Luckily PowerShell is here to help. This quick script will list all users who are members of more than 75 groups:

$limit = 75
Get-QADUser -SizeLimit 0 -DontUseDefaultIncludedProperties |
  ForEach-Object {
    $groups = Get-QADGroup -ContainsIndirectMember $_.DN -SizeLimit $limit `
      -DontUseDefaultIncludedProperties -WarningAction SilentlyContinue
    if ($groups.Count -ge $limit) { $_ }

Here’s a quick overview of what the script is doing:

  1. I assign the limit (75) to a variable. This is just for my convenience of reuse. E.g. I could turn this line into param($limit = 75) – and save this as a parameterized script or turn it into a function.
  2. I user Get-QADUser to retrieve all (-SizeLimit 0) user accounts from my current domain and I make sure to not retrieve any attributes along – so I save memory and improve performance (-DontUseDefaultIncludedProperties)
  3. For each user in my domain, I retrieve the first 75 (-SizeLimit $limit) groups to which the user belongs directly or through nesting (-ContainsIndirectMember $_.DN). There’s obviously no need to retrieve all groups – we just need to know if the user reached the limit. Again, we do not need any attributes (-DontUseDefaultIncludedProperties). I also tell PowerShell to not warn me if there are more groups than the size limit I specified (-WarningAction SilentlyContinue).
  4. Finally, if indeed we reached the limit, I output that user object.

You can obviously then just see the list on the screen or output it to CSV or HTML report.

Tags: , , , , , , ,

Add filepath to ConvertTo-HTML

Converting PowerShell data into an HTML report and save it to disk with no need for extra pipeline has long been my dream. Unfortunately, there’s no native Export-HTML cmdlet (unlike, say, Export-CSV), and ConvertTo-HTML does not have -Path parameter and only displays the html code on the screen (very useful ;)) unless you pipe it to Out-File.

So being inspired by Kirk adding parameters to Import-CSV and using PowerShell 2.0 code-snippets, I created my Export-HTML function, which behaves exactly like ConvertTo-HTML but adds optional -Path parameter to specify the output file.

Download it, copy/paste the function into PowerShell (or dot-source it, or include it in your PowerShell profile) and you will be able to do something like:

Get-Process | Export-Html -Path C:\pr.htm


Get-Process |
    Export-Html C:\pr.htm -Title β€˜My Processes’


Get-Process |
    Export-Html C:\pr.htm -Property Name, Handles -Title β€˜My Processes’

You can download the code here, or copy/paste it from the text below.

You may also consider renaming the function name from Export-HTML to ConvertTo-HTML (or use set-alias to make them the same thing), because the -Path parameter is optional, and old behavior of outputting HTML code to the console/pipeline is supported as well as all native parameters.

Here’s how I created this proxy function:

  1. Downloaded and installed PowerShell 2.0 code snippets.
  2. Used the function (proxy) snippet to generate the proxy for ConvertTo-
  3. Added Path to the parameters section:
  4.     [Parameter(Position=0)]
        [Alias('PSPath', 'FilePath')]
  5. Added a variable to store modified PowerShell code to be executed:
  6. $scriptCmdPipeline = ''
  7. Added parameter handling in which I (if Path is present) append the Out-File code to the pipeline:
  8.         if ($Path) {
                $PSBoundParameters.Remove('Path') | Out-Null
                $scriptCmdPipeline += " | Out-File -FilePath $Path"
  9. Got the original command-line for ConvertTo-HTML
  10.         $scriptCmd = {& $wrappedCmd @PSBoundParameters}
  11. And added this new pipeline to it:
  12.         $scriptCmd = $ExecutionContext.InvokeCommand.NewScriptBlock(
                    [string]$scriptCmd + $scriptCmdPipeline

The rest was handled by the code snippet.

Here’s the resultant code:

#Requires -Version 2.0

    Export-Html behaves exactly like native ConvertTo-HTML
    However it has one optional parameter -Path
    Which lets you specify the output file: e.g.
    Get-Process | Export-Html C:\temp\processes.html

function Export-Html {

# Adding Path parameter 
# (made it Position 0, and incremented Position for others)
    [Alias('PSPath', 'FilePath')]


    [Parameter(ParameterSetName='Page', Position=4)]

    [Parameter(ParameterSetName='Page', Position=2)]

    [Parameter(ParameterSetName='Page', Position=3)]






    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer))
            $PSBoundParameters['OutBuffer'] = 1
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('ConvertTo-Html', 
        # define string variable to become the target command line
        #region Initialize helper variable to create command
        $scriptCmdPipeline = ''

        # add new parameter handling
        #region Process and remove the Path parameter if it is present
        if ($Path) {
            $PSBoundParameters.Remove('Path') | Out-Null
            $scriptCmdPipeline += " | Out-File -FilePath $Path"
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        # redefine command invocation
        #region Append our pipeline command to the wrapped command script block
        $scriptCmd = $ExecutionContext.InvokeCommand.NewScriptBlock(
                [string]$scriptCmd + $scriptCmdPipeline
        $steppablePipeline = 
    } catch {

    try {
    } catch {

    try {
    } catch {

.ForwardHelpTargetName ConvertTo-Html
.ForwardHelpCategory Cmdlet


Hope you find this useful and it gets you the feature you wanted without waiting for PowerShell v3. πŸ˜‰

Tags: , , , , , , ,

My Recent Tweets


The posts on this blog are provided β€œas is” with no warranties and confer no rights. The opinions expressed on this site are mine and mine alone, and do not necessarily represent those of my employer - WSO2 or anyone else for that matter. All trademarks acknowledged.

Β© 2007-2014 Dmitry Sotnikov

October 2009

%d bloggers like this: