UPDATE 10/25/2012:SharePoint 2013 PowerShell Cmdlets: Changes from Public Preview to RTM for additional changes with SharePoint 2013 RTM.
In this first of two articles I will be identifying the cmdlets that have been removed in SharePoint 2013 Public Preview as well as all the new cmdlets that have been added. In my follow-up article I will identify all the cmdlets which have been changed (a much more tedious exercise).
Note: To compile this list I used SharePoint 2010 SP1 with no Cumulative Updates (CU) so it is possible that some of the changes identified are actually available in SharePoint 2010 via a CU. Also, this article is based on the Public Preview of SharePoint 2013 released in July 2012 – it is entirely possible and expected that much of this will change with the RTM version.
Removed Cmdlets
I think that one of the more interesting changes with SharePoint 2013 Public Preview is not so much the number of new cmdlets that were added (which is significant) but rather the number of cmdlets that existed in SharePoint 2010 and have been removed in the SharePoint 2013 Public Preview, specifically in terms of Enterprise Search which has had 32 (that’s right, 32!) cmdlets removed.
Search
The search architecture in SharePoint 2013 Public Preview has changed significantly and is now much easier to configure using PowerShell (though there are still many gaps and issues with the current version – such as the inability to set database names for several components). Because of the architectural changes most of the cmdlets that were removed pertain to the actual topology:
- Get-SPEnterpriseSearchCrawlTopology
- Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition
- Get-SPEnterpriseSearchExtendedConnectorProperty
- Get-SPEnterpriseSearchExtendedQueryProperty
- Get-SPEnterpriseSearchIndexPartition
- Get-SPEnterpriseSearchPropertyDatabase
- Get-SPEnterpriseSearchQueryComponent
- Get-SPEnterpriseSearchQueryTopology
- Get-SPSearchService
- Get-SPSearchServiceInstance
- New-SPEnterpriseSearchCrawlTopology
- New-SPEnterpriseSearchExtendedConnectorProperty
- New-SPEnterpriseSearchPropertyDatabase
- New-SPEnterpriseSearchQueryComponent
- New-SPEnterpriseSearchQueryTopology
- Ping-SPEnterpriseSearchContentService
- Remove-SPEnterpriseSearchCrawlComponent
- Remove-SPEnterpriseSearchCrawlTopology
- Remove-SPEnterpriseSearchExtendedConnectorProperty
- Remove-SPEnterpriseSearchPropertyDatabase
- Remove-SPEnterpriseSearchQueryComponent
- Remove-SPEnterpriseSearchQueryTopology
- Restart-SPEnterpriseSearchQueryComponent
- Set-SPEnterpriseSearchCrawlTopology
- Set-SPEnterpriseSearchExtendedConnectorProperty
- Set-SPEnterpriseSearchExtendedQueryProperty
- Set-SPEnterpriseSearchIndexPartition
- Set-SPEnterpriseSearchPropertyDatabase
- Set-SPEnterpriseSearchQueryComponent
- Set-SPEnterpriseSearchQueryTopology
- Set-SPSearchService
- Set-SPSearchServiceInstance
Performance Point
There was only one cmdlet removed for PerformancePoint and though I can understand the reasoning for it this one rather annoyed me. My issue with the removal of this cmdlet was when it comes to being able to automate the configuration of PowerPoint or to crawl an existing configuration. Without this cmdlet I can no longer see how the unattended service account for the service application is configured which makes an automated installation difficult as you don’t want to create or set something that is already set (and of course it makes the crawl of an existing installation for documentation purposes impossible).
- Get-SPPerformancePointSecureDataValues
Web Analytics
The Web Analytics service application has been removed and is not a component of the search service. You can see more information about what this change means by looking at the Web Analytics section of this technet article: http://technet.microsoft.com/en-us/library/ff607742(v=office.15).aspx. And of course, with the removal of the service we now no longer have the associated cmdlets.
- Get-SPWebAnalyticsServiceApplication
- Get-SPWebAnalyticsServiceApplicationProxy
- New-SPWebAnalyticsServiceApplication
- New-SPWebAnalyticsServiceApplicationProxy
- Set-SPWebAnalyticsServiceApplication
- Set-SPWebAnalyticsServiceApplicationProxy
Web Templates
This one actually took me by surprise as I hadn’t heard that we wouldn’t be able to install templates in this way anymore. I can honestly say that I’ve never actually used these cmdlets in SharePoint 2010 as I do all my template deployments using SharePoint Solution Packages (WSPs), something I’ve always recommended as a best practice.
- Install-SPWebTemplate
- Set-SPWebTemplate
- Uninstall-SPWebTemplate
New Cmdlets
I was definitely surprised by the number of cmdlets that were removed but I was totally taken aback by the number of cmdlets added: 299! (Ugh, and some of them conflict in name with the custom ones that I’ve created!). When you skim through the list of cmdlets note that some of the Microsoft developers didn’t seem to get the memo that all SharePoint cmdlet nouns start with “SP” – sloppy, very sloppy.
I’m not going to bother describing each of these cmdlets as many are likely to change. To get more information about them see the Windows PowerShell for SharePoint 2013 technet article: http://technet.microsoft.com/en-us/library/ee890108(v=office.15).aspx
Education
There’s a lot of great documentation coming out about SharePoint 2013 Public Preview but what appears to be noticeably missing (at least to me) is the documentation for all of the new education related features that come with this version. I have a particular interest in these features as I’ve done a significant amount of work with local school districts here in Colorado so, needless to say, I intend to create some documentation on this blog for these cmdlets in the near future.
- Add-SPEduClassMember
- Add-SPEduUser
- Get-SPEduServiceSetting
- Install-SPEduSites
- New-SPEduClass
- Remove-SPEduClassMember
- Set-SPEduServiceSetting
SharePoint Apps
Everyone is talking about the new SharePoint 2013 Application model – personally, I’m not sold on it but hey, it’s the new flavor of the month and comes with 46 new cmdlets to learn.
- Add-SPAppDeniedEndpoint
- Clear-SPAppDeniedEndpoints
- Disable-SPAppAutoProvision
- Enable-SPAppAutoProvision
- Export-SPAppPackage
- Get-SPAppAcquisitionSettings
- Get-SPAppAutoProvisionConnection
- Get-SPAppDeniedEndpoints
- Get-SPAppDisableSettings
- Get-SPAppDomain
- Get-SPAppHostingQuotas
- Get-SPAppInstance
- Get-SPAppMarketplaceSettings
- Get-SPAppPrincipal
- Get-SPAppScaleProfile
- Get-SPAppSiteSubscriptionName
- Get-SPAppStateSyncLastRunTime
- Get-SPAppStateUpdateInterval
- Import-SPAppPackage
- Install-SPApp
- New-SPAppManagementServiceApplication
- New-SPAppManagementServiceApplicationProxy
- Register-SPAppPrincipal
- Remove-SPAppDeniedEndpoint
- Remove-SPAppPrincipalPermission
- Restart-SPAppInstanceJobs
- Set-SPAppAcquisitionSettings
- Set-SPAppAutoProvisionConnection
- Set-SPAppDisableSettings
- Set-SPAppDomain
- Set-SPAppHostingQuotas
- Set-SPAppManagementDeploymentId
- Set-SPAppMarketplaceSettings
- Set-SPAppPrincipalPermission
- Set-SPAppScaleProfile
- Set-SPAppSiteSubscriptionName
- Set-SPAppStateUpdateInterval
- Uninstall-SPAppInstance
- Update-SPAppCatalogSettings
- Update-SPAppInstance
- Get-SPInternalAppStateSyncLastRunTime
- Get-SPInternalAppStateUpdateInterval
- Set-SPInternalAppStateUpdateInterval
- Get-SPOfficeStoreAppsDefaultActivation
- Set-SPOfficeStoreAppsDefaultActivation
- New-SPMarketplaceWebServiceApplicationProxy
Search
Okay, so we removed 32 cmdlets and added back 50 – but trust me, provisioning search using PowerShell is considerably easier now. Most of these cmdlets are all about configuring it after you’ve provisioned it and that’s something that is definitely a net positive in my eyes.
- Backup-SPEnterpriseSearchServiceApplicationIndex
- Get-SPEnterpriseSearchContentEnrichmentConfiguration
- Get-SPEnterpriseSearchCrawlLogReadPermission
- Get-SPEnterpriseSearchFileFormat
- Get-SPEnterpriseSearchHostController
- Get-SPEnterpriseSearchLinguisticComponentsStatus
- Get-SPEnterpriseSearchLinksDatabase
- Get-SPEnterpriseSearchOwner
- Get-SPEnterpriseSearchPropertyRule
- Get-SPEnterpriseSearchPropertyRuleCollection
- Get-SPEnterpriseSearchQuerySpellingCorrection
- Get-SPEnterpriseSearchResultItemType
- Get-SPEnterpriseSearchServiceApplicationBackupStore
- Get-SPEnterpriseSearchStatus
- Get-SPEnterpriseSearchTopology
- Get-SPEnterpriseSearchVssDataPath
- Import-SPEnterpriseSearchCustomExtractionDictionary
- Import-SPEnterpriseSearchPopularQueries
- Import-SPEnterpriseSearchThesaurus
- New-SPEnterpriseSearchAdminComponent
- New-SPEnterpriseSearchAnalyticsProcessingComponent
- New-SPEnterpriseSearchContentEnrichmentConfiguration
- New-SPEnterpriseSearchContentProcessingComponent
- New-SPEnterpriseSearchFileFormat
- New-SPEnterpriseSearchIndexComponent
- New-SPEnterpriseSearchLinksDatabase
- New-SPEnterpriseSearchQueryProcessingComponent
- New-SPEnterpriseSearchResultItemType
- New-SPEnterpriseSearchTopology
- Remove-SPEnterpriseSearchComponent
- Remove-SPEnterpriseSearchContentEnrichmentConfiguration
- Remove-SPEnterpriseSearchCrawlLogReadPermission
- Remove-SPEnterpriseSearchFileFormat
- Remove-SPEnterpriseSearchLinksDatabase
- Remove-SPEnterpriseSearchResultItemType
- Remove-SPEnterpriseSearchServiceApplicationSiteSettings
- Remove-SPEnterpriseSearchTenantConfiguration
- Remove-SPEnterpriseSearchTenantSchema
- Remove-SPEnterpriseSearchTopology
- Repartition-SPEnterpriseSearchLinksDatabases
- Restore-SPEnterpriseSearchServiceApplicationIndex
- Set-SPEnterpriseSearchContentEnrichmentConfiguration
- Set-SPEnterpriseSearchCrawlLogReadPermission
- Set-SPEnterpriseSearchLinguisticComponentsStatus
- Set-SPEnterpriseSearchLinksDatabase
- Set-SPEnterpriseSearchPrimaryHostController
- Set-SPEnterpriseSearchQuerySpellingCorrection
- Set-SPEnterpriseSearchResultItemType
- Set-SPEnterpriseSearchTopology
- Upgrade-SPEnterpriseSearchServiceApplicationSiteSettings
Workflow Service
Um, where’s the “SP”? I also find it interesting that the technet documentation only lists one of these and in their place are SharePoint Designer related cmdlets.
- Copy-LocalActivitiesToWorkflowService
- Get-WorkflowServiceApplicationProxy
- New-WorkflowServiceApplicationProxy
- Register-SPWorkflowService
Translation Service
Seriously – what’s with the missing “SP”? I’ve done a fair bit with Variations within SharePoint 2007 and 2010 so I’m definitely interested in these guys – expect to see an article about the new Translation Services in the near future.
- New-SPTranslationServiceApplication
- New-SPTranslationServiceApplicationProxy
- Get-TranslationThrottlingSettings
- Remove-SPTranslationServiceJobHistory
- Set-SPTranslationServiceApplication
- Set-SPTranslationServiceApplicationProxy
- Set-TranslationThrottlingSettings
Access 2013 Services
Access Services is dead! Long live Access Services 2013 – from what I’ve seen it should be much better than the last version. The only question I have is will the name stay the same in the next version of SharePoint or will we be always talking about Access Services 2013 in SharePoint 2016 or 2019 or whatever. Seems like the better approach would have been to ditch the old version and create an upgrade path (they did it with search so why not Access?).
- Copy-SPAccessServicesDatabase
- Get-SPAccessServicesApplication
- Get-SPAccessServicesDatabase
- Get-SPAccessServicesDatabaseServer
- Get-SPAccessServicesDatabaseServerGroup
- Get-SPAccessServicesDatabaseServerGroupMapping
- New-SPAccessServicesApplication
- New-SPAccessServicesApplicationProxy
- New-SPAccessServicesDatabaseServer
- Remove-SPAccessServicesDatabaseServer
- Reset-SPAccessServicesDatabasePassword
- Set-SPAccessServicesApplication
- Set-SPAccessServicesDatabaseServer
- Set-SPAccessServicesDatabaseServerGroupMapping
- New-SPAzureAccessControlServiceApplicationProxy
Business Connectivity Services
Don’t know much about these guys yet.
- Clear-SPBusinessDataCatalogEntityNotificationWeb
- Get-SPBusinessDataCatalogEntityNotificationWeb
- Set-SPBusinessDataCatalogEntityNotificationWeb
- New-SPBECWebServiceApplicationProxy (I’ve no idea what this guy does but if you look at the technet documentation for it there’s a big fat warning stating not to use it so I suspect it will go away with RTM (or perhaps it’s just not stable right now).
- Get-SPODataConnectionSetting
- Get-SPODataConnectionSettingMetadata
- New-SPODataConnectionSetting
- Remove-SPODataConnectionSetting
- Set-SPODataConnectionSetting
- Set-SPODataConnectionSettingMetadata
Reporting Services
Hey, look at that, Reporting Services has become a first class citizen within SharePoint!
- Backup-SPRSEncryptionKey
- Dismount-SPRSDatabase
- Get-SPRSDatabase
- Get-SPRSDatabaseCreationScript
- Get-SPRSDatabaseRightsScript
- Get-SPRSDatabaseUpgradeScript
- Get-SPRSExtension
- Get-SPRSProxyUrl
- Get-SPRSServiceApplication
- Get-SPRSServiceApplicationProxy
- Get-SPRSServiceApplicationServers
- Get-SPRSSite
- Install-SPRSService
- Install-SPRSServiceProxy
- Mount-SPRSDatabase
- New-SPRSDatabase
- New-SPRSExtension
- New-SPRSServiceApplication
- New-SPRSServiceApplicationProxy
- Remove-SPRSDatabase
- Remove-SPRSEncryptedData
- Remove-SPRSExtension
- Remove-SPRSServiceApplication
- Restore-SPRSEncryptionKey
- Set-SPRSDatabase
- Set-SPRSExtension
- Set-SPRSServiceApplication
- Update-SPRSEncryptionKey
PerformancePoint Services
Export. Import. Okay.
- Export-SPPerformancePointContent
- Import-SPPerformancePointContent
PowerPivot
I haven’t looked into these yet but I’m pretty sure they’re all about getting Excel Services and PowerPivot working together (there’s no documentation on them that I can find).
- Get-SPExcelBIServer
- New-SPExcelBIServer
- Remove-SPExcelBIServer
- Set-SPExcelBIServer
PowerPoint Conversion Services
We had Word Conversion Services in SharePoint 2010 and now we have what is basically the same feature for PowerPoint in SharePoint 2013.
- New-SPPowerPointConversionServiceApplication
- New-SPPowerPointConversionServiceApplicationProxy
- Set-SPPowerPointConversionServiceApplication
Work Management Services
The new Work Management Services is all about managing tasks. You can find the technet documentation for these cmdlets here: http://technet.microsoft.com/en-us/library/fp161255(v=office.15).aspx. There’s also a short presentation you can watch here: http://blogs.msdn.com/b/webtamer/archive/2012/08/22/the-brilliance-of-sharepoint-2013-s-new-work-management-service-application.aspx.
- New-SPWorkManagementServiceApplication
- New-SPWorkManagementServiceApplicationProxy
- Set-SPWorkManagementServiceApplication
- Set-SPWorkManagementServiceApplicationProxy
Request Management
My buddy Spence has an article series that he’s been working on regarding Request Management (including some scripts to get it all configured): http://www.harbar.net/articles/sp2013rm1.aspx
- Get-SPRequestManagementSettings
- New-SPRequestManagementRuleCriteria
- Set-SPRequestManagementSettings
- Add-SPRoutingMachineInfo
- Add-SPRoutingMachinePool
- Add-SPRoutingRule
- Get-SPRoutingMachineInfo
- Get-SPRoutingMachinePool
- Get-SPRoutingRule
- Remove-SPRoutingMachineInfo
- Remove-SPRoutingMachinePool
- Remove-SPRoutingRule
- Set-SPRoutingMachineInfo
- Set-SPRoutingMachinePool
- Set-SPRoutingRule
- Add-SPThrottlingRule
- Get-SPThrottlingRule
- Remove-SPThrottlingRule
- Set-SPThrottlingRule
Social
Yeah, lots of new social features in SharePoint 2013 – word is though that you might want to hold off spending too much time on this until after RTM (I could have misheard though).
- Add-SPSocialAppPermissions
- Remove-SPActivityFeedItems
- Remove-SPSocialAppPermissions
- Update-SPRepopulateMicroblogFeedCache
- Update-SPRepopulateMicroblogLMTCache
Site Collections
I would have expected to find these under the “Site Collection cmdlets” section of technet but instead they are under the “Site management cmdlets” section. Note all the SPSiteUrl cmdlets – according to the technet documentation these apply only to Site Collections at the root of a Web Application but, as the big push now is to use host named Site Collections I suspect these will work for them as well and are really intended for them (just speculating thought as I’ve not had time to test any theories).
- Copy-SPSite
- Get-SPSiteUpgradeSessionInfo
- Get-SPSiteURL
- Move-SPDeletedSite
- Remove-SPSiteURL
- Repair-SPSite
- Set-SPSiteURL
- Test-SPSite
Scale Out Databases
Clearly a lot of changes have been made to the underlying database capabilities. I’ve not seen any documentation yet which details the architectural considerations of using scale out databases but if you’re doing any kind of large scale deployment I suggest you look into these guys (http://technet.microsoft.com/en-us/library/ee906544(v=office.15).aspx).
- Add-SPScaleOutDatabase
- Add-SPServerScaleOutDatabase
- Clear-SPScaleOutDatabaseDeletedDataSubRange
- Clear-SPScaleOutDatabaseLog
- Clear-SPScaleOutDatabaseTenantData
- Clear-SPServerScaleOutDatabaseDeletedDataSubRange
- Clear-SPServerScaleOutDatabaseLog
- Clear-SPServerScaleOutDatabaseTenantData
- Export-SPScaleOutDatabaseTenantData
- Export-SPServerScaleOutDatabaseTenantData
- Get-SPScaleOutDatabase
- Get-SPScaleOutDatabaseDataState
- Get-SPScaleOutDatabaseInconsistency
- Get-SPScaleOutDatabaseLogEntry
- Get-SPServerScaleOutDatabase
- Get-SPServerScaleOutDatabaseDataState
- Get-SPServerScaleOutDatabaseInconsistency
- Get-SPServerScaleOutDatabaseLogEntry
- Import-SPScaleOutDatabaseTenantData
- Import-SPServerScaleOutDatabaseTenantData
- Remove-SPScaleOutDatabase
- Remove-SPServerScaleOutDatabase
- Set-SPScaleOutDatabaseDataRange
- Set-SPScaleOutDatabaseDataSubRange
- Set-SPServerScaleOutDatabaseDataRange
- Set-SPServerScaleOutDatabaseDataSubRange
- Split-SPScaleOutDatabase
- Split-SPServerScaleOutDatabase
Licensing
This is actually a pretty cool change. Think about scenarios where you have some users who need Enterprise features and some who only need Standard features; with SharePoint 2010 you probably just bought everyone an Enterprise CAL or you just used the product illegally and let Standard users utilize Enterprise features because there was no good way to enforce it (you could use feature sets but few people have the necessary governance in place to enforce it’s proper use). With SharePoint 2013 you can now map a user to a specific license type thereby blocking access to feature that they are not licensed to use. You can find more information about this on technet.
- Add-SPUserLicenseMapping
- Disable-SPUserLicensing
- Enable-SPUserLicensing
- Get-SPUserLicense
- Get-SPUserLicenseMapping
- Get-SPUserLicensing
- New-SPUserLicenseMapping
- Remove-SPUserLicenseMapping
Cache
There was all kinds of issues with how caching was done in previous versions of SharePoint so to address those issues we now have a new distributed caching service. Note that this isn’t a ground up new product – the SharePoint team is leveraging Windows Server AppFrabric. You can find more information about configuring the service on technet.
- Add-SPDistributedCacheServiceInstanceOnLocalServer
- Clear-SPDistributedCacheItem
- Get-SPDistributedCacheClientSetting
- Remove-SPDistributedCacheServiceInstanceOnLocalServer
- Set-SPDistributedCacheClientSetting
- Stop-SPDistributedCacheServiceInstanceGracefullyOnLocalServer
Bing (or, Geolocation Fields)
There’s a new geolocation field type in SharePoint 2013 that can be used to store longitude and latitude coordinates that can then be rendered on a Bing map. You can find more information about using and configuring this field on technet.
- Get-SPBingMapsBlockInAllLocales
- Get-SPBingMapsKey
- Set-SPBingMapsBlockInAllLocales
- Set-SPBingMapsKey
Upgrade
In-place upgrade is no longer an option with SharePoint 2013 (this is a good thing!). And thankfully the team has added some additional cmdlets to help manage the upgrade process so we have more visibility into the process and I don’t have to remember psconfig command line switches.
- Get-SPPendingUpgradeActions
- Get-SPUpgradeActions
- Remove-SPSiteUpgradeSessionInfo
- Request-SPUpgradeEvaluationSite
- Upgrade-SPFarm
- Upgrade-SPSite
Security Related
- Get-SPAuthenticationRealm
- Set-SPAuthenticationRealm
- Get-SPClaimTypeEncoding
- New-SPClaimTypeEncoding
- Get-SPSecureStoreSystemAccounts
- Set-SPSecureStoreSystemAccounts
- Get-SPTrustedSecurityTokenIssuer
- Get-SPTrustedSecurityTokenService
- New-SPTrustedSecurityTokenIssuer
- New-SPTrustedSecurityTokenService
- Remove-SPTrustedSecurityTokenIssuer
- Remove-SPTrustedSecurityTokenService
- Set-SPTrustedSecurityTokenIssuer
- Set-SPTrustedSecurityTokenService
- Convert-SPWebApplication
IRM Settings
- Get-SPIRMSettings
- Set-SPIRMSettings
- Get-SPSiteSubscriptionIRMConfig
- Set-SPSiteSubscriptionIRMConfig
User Settings Provider
- Get-SPUserSettingsProvider
- Get-SPUserSettingsProviderManager
- New-SPUserSettingsProvider
- Remove-SPUserSettingsProvider
Web Application Open Platform Interface (WOPI)
Office Web Applications (OWA) is no longer a SharePoint add-on and instead is a standalone product. So now, instead of all the cmdlets to manage OWA we have a bunch of cmdlets to manage WOPI – which is basically the open protocol that the new Office Web Applications uses. With these cmdlets we can connect our SharePoint Farm to Office Web Applications. (Every time I see WOPI I think of WOPR in War Games – “Would you like to play a game?”).
- Get-SPWOPIBinding
- Get-SPWOPISuppressionSetting
- Get-SPWOPIZone
- New-SPWOPIBinding
- New-SPWOPISuppressionSetting
- Remove-SPWOPIBinding
- Remove-SPWOPISuppressionSetting
- Set-SPWOPIBinding
- Set-SPWOPIZone
- Update-SPWOPIProofKey
Diagnostics
This is cool if you do a lot of scripting and want all of your diagnostic information generated by your script to have the same Correlation ID.
- Start-SPDiagnosticsSession
- Stop-SPDiagnosticsSession