Bar

Windows Server 2016 Essentials TP4のPowerShell コマンドレットは2012 R2と比べてどう変化したのか

Windows Server 2016 Essentials Technical Preview 4のPowerShellはバージョン 5.0になり、新しいPowerShell コマンドレットが搭載されています。
今回は、Windows Server 2016 Essentials TP4のPowerShell コマンドレットは2012 R2と比べてどう変化したのかをまとめました。

PowerShell 比較一覧

比較するOSのPowerShell コマンドレットはOSをインストールした直後で比較しています。
コマンドレットの頭に+ or -がついています。これは追加 or 削除を示します。
※両OSはWindows Updateを実行していません。
※Windows Server 2012 R2 Essentialsはwith Updateです。

ModuleNew CmdletsWSE 2016 TP4WSE 2012 R2
03838
ActiveDirectory0147147
ADCSAdministration11312
+ Confirm-CAAttestationIdentityKeyInfo
ADCSDeployment01212
ADDSDeployment01010
AppBackgroundTask660
+ Disable-AppBackgroundTaskDiagnosticLog
+ Enable-AppBackgroundTaskDiagnosticLog
+ Get-AppBackgroundTask
+ Set-AppBackgroundTaskResourcePolicy
+ Start-AppBackgroundTask
+ Unregister-AppBackgroundTask
AppLocker055
Appx8146
+ Add-AppxVolume
+ Dismount-AppxVolume
+ Get-AppxDefaultVolume
+ Get-AppxVolume
+ Mount-AppxVolume
+ Move-AppxPackage
+ Remove-AppxVolume
+ Set-AppxDefaultVolume
AssignedAccess330
+ Clear-AssignedAccess
+ Get-AssignedAccess
+ Set-AssignedAccess
BestPractices044
BitsTransfer088
BranchCache03232
CimCmdlets01414
CIPolicy110
+ ConvertFrom-CIPolicy
ConfigCI12120
+ Add-SignerRule
+ Edit-CIPolicyRule
+ Get-CIPolicy
+ Get-CIPolicyInfo
+ Get-SystemDriver
+ Merge-CIPolicy
+ New-CIPolicy
+ New-CIPolicyRule
+ Remove-CIPolicyRule
+ Set-CIPolicyVersion
+ Set-HVCIOptions
+ Set-RuleOption
Defender12120
+ Add-MpPreference
+ Get-MpComputerStatus
+ Get-MpPreference
+ Get-MpThreat
+ Get-MpThreatCatalog
+ Get-MpThreatDetection
+ Remove-MpPreference
+ Remove-MpThreat
+ Set-MpPreference
+ Start-MpScan
+ Start-MpWDOScan
+ Update-MpSignature
DFSN02323
DirectAccessClientComponents01111
Dism44339
+ Add-WindowsCapability
+ Expand-WindowsCustomDataImage
+ Get-WindowsCapability
+ Remove-WindowsCapability
DnsClient01717
DnsServer29130101
+ Add-DnsServerClientSubnet
+ Add-DnsServerQueryResolutionPolicy
+ Add-DnsServerRecursionScope
+ Add-DnsServerResponseRateLimitingExceptionlist
+ Add-DnsServerZoneScope
+ Add-DnsServerZoneTransferPolicy
+ Disable-DnsServerPolicy
+ Enable-DnsServerPolicy
+ Get-DnsServerClientSubnet
+ Get-DnsServerQueryResolutionPolicy
+ Get-DnsServerRecursionScope
+ Get-DnsServerResponseRateLimiting
+ Get-DnsServerResponseRateLimitingExceptionlist
+ Get-DnsServerRRL
+ Get-DnsServerZoneScope
+ Get-DnsServerZoneTransferPolicy
+ Remove-DnsServerClientSubnet
+ Remove-DnsServerQueryResolutionPolicy
+ Remove-DnsServerRecursionScope
+ Remove-DnsServerResponseRateLimitingExceptionlist
+ Remove-DnsServerZoneScope
+ Remove-DnsServerZoneTransferPolicy
+ Set-DnsServerClientSubnet
+ Set-DnsServerQueryResolutionPolicy
+ Set-DnsServerRecursionScope
+ Set-DnsServerResponseRateLimiting
+ Set-DnsServerResponseRateLimitingExceptionlist
+ Set-DnsServerRRL
+ Set-DnsServerZoneTransferPolicy
EventTracingManagement14140
+ Add-EtwTraceProvider
+ Get-AutologgerConfig
+ Get-EtwTraceProvider
+ Get-EtwTraceSession
+ New-AutologgerConfig
+ New-EtwTraceSession
+ Remove-AutologgerConfig
+ Remove-EtwTraceProvider
+ Remove-EtwTraceSession
+ Send-EtwTraceSession
+ Set-AutologgerConfig
+ Set-EtwTraceProvider
+ Set-EtwTraceSession
+ Start-AutologgerConfig
GroupPolicy02929
IISAdministration21210
+ Clear-IISConfigCollection
+ Get-IISAppPool
+ Get-IISConfigAttributeValue
+ Get-IISConfigCollection
+ Get-IISConfigCollectionElement
+ Get-IISConfigElement
+ Get-IISConfigSection
+ Get-IISServerManager
+ Get-IISSite
+ New-IISConfigCollectionElement
+ New-IISSite
+ Remove-IISConfigAttribute
+ Remove-IISConfigCollectionElement
+ Remove-IISConfigElement
+ Remove-IISSite
+ Reset-IISServerManager
+ Set-IISConfigAttributeValue
+ Start-IISCommitDelay
+ Start-IISSite
+ Stop-IISCommitDelay
+ Stop-IISSite
International01818
iSCSI01313
IscsiTarget02828
ISE033
Kds066
Microsoft.PowerShell.Archive220
+ Compress-Archive
+ Expand-Archive
Microsoft.PowerShell.Core76255
+ Debug-Job
+ Enter-PSHostProcess
+ Exit-PSHostProcess
+ Get-PSHostProcessInfo
+ Get-PSSessionCapability
+ New-PSRoleCapabilityFile
+ Register-ArgumentCompleter
Microsoft.PowerShell.Diagnostics055
Microsoft.PowerShell.Host022
Microsoft.PowerShell.Management48682
+ Clear-RecycleBin
+ Get-Clipboard
+ Get-ItemPropertyValue
+ Set-Clipboard
Microsoft.PowerShell.ODataUtils110
+ Export-ODataEndpointProxy
Microsoft.PowerShell.Security31310
+ Get-CmsMessage
+ Protect-CmsMessage
+ Unprotect-CmsMessage
Microsoft.PowerShell.Utility1410793
+ ConvertFrom-SddlString
+ ConvertFrom-String
+ Convert-String
+ Debug-Runspace
+ Disable-RunspaceDebug
+ Enable-RunspaceDebug
+ Format-Hex
+ Get-Runspace
+ Get-RunspaceDebug
+ Import-PowerShellDataFile
+ New-Guid
+ New-TemporaryFile
+ Wait-Debugger
+ Write-Information
Microsoft.WSMan.Management01313
MMAgent055
MsDtc04141
NetAdapter46864
+ Disable-NetAdapterPacketDirect
+ Enable-NetAdapterPacketDirect
+ Get-NetAdapterPacketDirect
+ Set-NetAdapterPacketDirect
NetConnection022
NetEventPacketCapture42723
+ Add-NetEventWFPCaptureProvider
+ Get-NetEventWFPCaptureProvider
+ Remove-NetEventWFPCaptureProvider
+ Set-NetEventWFPCaptureProvider
NetLbfo01313
NetNat01313
NetQos044
NetSecurity08585
NetSwitchTeam077
NetTCPIP03434
NetworkConnectivityStatus044
NetworkSwitchManager19190
+ Disable-NetworkSwitchEthernetPort
+ Disable-NetworkSwitchFeature
+ Disable-NetworkSwitchVlan
+ Enable-NetworkSwitchEthernetPort
+ Enable-NetworkSwitchFeature
+ Enable-NetworkSwitchVlan
+ Get-NetworkSwitchEthernetPort
+ Get-NetworkSwitchFeature
+ Get-NetworkSwitchGlobalData
+ Get-NetworkSwitchVlan
+ New-NetworkSwitchVlan
+ Remove-NetworkSwitchEthernetPortIPAddress
+ Remove-NetworkSwitchVlan
+ Restore-NetworkSwitchConfiguration
+ Save-NetworkSwitchConfiguration
+ Set-NetworkSwitchEthernetPortIPAddress
+ Set-NetworkSwitchPortMode
+ Set-NetworkSwitchPortProperty
+ Set-NetworkSwitchVlanProperty
NetworkTransition03434
NFS04242
PackageManagement13130
+ Find-Package
+ Find-PackageProvider
+ Get-Package
+ Get-PackageProvider
+ Get-PackageSource
+ Import-PackageProvider
+ Install-Package
+ Install-PackageProvider
+ Register-PackageSource
+ Save-Package
+ Set-PackageSource
+ Uninstall-Package
+ Unregister-PackageSource
PcsvDevice495
+ Clear-PcsvDeviceLog
+ Get-PcsvDeviceLog
+ Set-PcsvDeviceNetworkConfiguration
+ Set-PcsvDeviceUserPassword
Pester20200
+ AfterAll
+ AfterEach
+ Assert-MockCalled
+ Assert-VerifiableMocks
+ BeforeAll
+ BeforeEach
+ Context
+ Describe
+ Get-MockDynamicParameters
+ Get-TestDriveItem
+ In
+ InModuleScope
+ Invoke-Mock
+ Invoke-Pester
+ It
+ Mock
+ New-Fixture
+ Set-DynamicParameterVariables
+ Setup
+ Should
PKI01717
PlatformIdentifier110
+ Get-PlatformIdentifier
PnpDevice440
+ Disable-PnpDevice
+ Enable-PnpDevice
+ Get-PnpDevice
+ Get-PnpDeviceProperty
PowerShellGet23230
+ Find-DscResource
+ Find-Module
+ Find-Script
+ Get-InstalledModule
+ Get-InstalledScript
+ Get-PSRepository
+ Install-Module
+ Install-Script
+ New-ScriptFileInfo
+ Publish-Module
+ Publish-Script
+ Register-PSRepository
+ Save-Module
+ Save-Script
+ Set-PSRepository
+ Test-ScriptFileInfo
+ Uninstall-Module
+ Uninstall-Script
+ Unregister-PSRepository
+ Update-Module
+ Update-ModuleManifest
+ Update-Script
+ Update-ScriptFileInfo
PrintManagement02222
PSDesiredStateConfiguration8179
+ Disable-DscDebug
+ Enable-DscDebug
+ Get-DscConfigurationStatus
+ Invoke-DscResource
+ Publish-DscConfiguration
+ Remove-DscConfigurationDocument
+ Stop-DscConfiguration
+ Update-DscConfiguration
PSDiagnostics01010
PSReadline660
+ Get-PSReadlineKeyHandler
+ Get-PSReadlineOption
+ PSConsoleHostReadline
+ Remove-PSReadlineKeyHandler
+ Set-PSReadlineKeyHandler
+ Set-PSReadlineOption
PSScheduledJob01616
PSWorkflow022
PSWorkflowUtility011
RemoteAccess15122107
+ Add-BgpRouteAggregate
+ Add-VpnSstpProxyRule
+ Clear-BgpRouteFlapDampening
+ Disable-BgpRouteFlapDampening
+ Enable-BgpRouteFlapDampening
+ Get-BgpRouteAggregate
+ Get-BgpRouteFlapDampening
+ Get-VpnSstpProxyRule
+ New-VpnSstpProxyRule
+ New-VpnTrafficSelector
+ Remove-BgpRouteAggregate
+ Remove-VpnSstpProxyRule
+ Set-BgpRouteAggregate
+ Set-BgpRouteFlapDampening
+ Set-VpnSstpProxyRule
RemoteDesktop57873
+ Export-RDPersonalSessionDesktopAssignment
+ Get-RDPersonalSessionDesktopAssignment
+ Import-RDPersonalSessionDesktopAssignment
+ Remove-RDPersonalSessionDesktopAssignment
+ Set-RDPersonalSessionDesktopAssignment
ScheduledTasks01919
SecureBoot055
ServerCore022
ServerManager077
ServerManagerTasks01111
SmbShare03535
SmbWitness033
SoftwareInventoryLogging11110
+ Get-SilComputerIdentity
StartLayout330
+ Export-StartLayout
+ Get-StartApps
+ Import-StartLayout
StartScreen-303
- Export-StartLayout
- Get-StartApps
- Import-StartLayout
Storage44150106
+ Block-FileShareAccess
+ Clear-StorageDiagnosticInfo
+ Debug-FileShare
+ Debug-StorageSubSystem
+ Debug-Volume
+ Disable-PhysicalDiskIdentification
+ Disable-StorageDiagnosticLog
+ Disable-StorageHighAvailability
+ Enable-PhysicalDiskIdentification
+ Enable-StorageDiagnosticLog
+ Enable-StorageHighAvailability
+ Get-DedupProperties
+ Get-DiskSNV
+ Get-DiskStorageNodeView
+ Get-FileShare
+ Get-FileShareAccessControlEntry
+ Get-PhysicalDiskSNV
+ Get-PhysicalDiskStorageNodeView
+ Get-StorageAdvancedProperty
+ Get-StorageDiagnosticInfo
+ Get-StorageEnclosureSNV
+ Get-StorageEnclosureStorageNodeView
+ Get-StorageFaultDomain
+ Get-StorageFileServer
+ Get-StorageFirmwareInformation
+ Get-StorageHealthAction
+ Get-StorageHealthReport
+ Get-StorageHealthSetting
+ Grant-FileShareAccess
+ New-FileShare
+ New-StorageFileServer
+ Optimize-StoragePool
+ Remove-FileShare
+ Remove-StorageFileServer
+ Remove-StorageHealthSetting
+ Revoke-FileShareAccess
+ Set-FileShare
+ Set-StorageFileServer
+ Set-StorageHealthSetting
+ Start-StorageDiagnosticLog
+ Stop-StorageDiagnosticLog
+ Stop-StorageJob
+ Unblock-FileShareAccess
+ Update-StorageFirmware
TLS374
+ Disable-TlsCipherSuite
+ Enable-TlsCipherSuite
+ Get-TlsCipherSuite
TroubleshootingPack022
TrustedPlatformModule01111
UserAccessLogging01414
VpnClient01919
Wdac01212
WebAdministration28078
+ Begin-WebCommitDelay
+ End-WebCommitDelay
Whea022
WindowsDeveloperLicense033
WindowsErrorReporting033
WindowsSearch022
WindowsServerBackup04949
WindowsUpdate110
+ Get-WindowsUpdateLog
WssCmdlets-47177224
- Add-O365User
- Add-WssMsoGroup
- Add-WssMsoUser
- Clear-O365AssignedUser
- Disable-O365Integration
- Disable-O365User
- Disable-WssMsoIntegration
- Disable-WssMsoSharePointPermissionInheritance
- Disable-WssMsoUser
- Enable-O365Integration
- Enable-O365User
- Enable-WssIntuneIntegration
- Enable-WssMsoIntegration
- Enable-WssMsoSharePointPermissionInheritance
- Enable-WssMsoUser
+ Enable-WssWindowsServerAntimalware
- Get-O365AssignedUser
- Get-O365DnsRecord
- Get-O365DomainConfiguration
- Get-O365EmailAddresses
- Get-O365SubscriptionInfo
- Get-O365User
+ Get-WssComputerAccess
+ Get-WssDesignatedDC
- Get-WssMsoAssignedGroup
- Get-WssMsoAssignedUser
- Get-WssMsoDomainConfiguration
- Get-WssMsoGroup
- Get-WssMsoSharePointLibrary
- Get-WssMsoSharePointPermission
- Get-WssMsoSharePointPrincipal
- Get-WssMsoSharePointSite
- Get-WssMsoSubscription
- Get-WssMsoUser
- Get-WssRouterInformation
- New-WssMsoSharePointLibrary
- Remove-O365Domain
- Remove-O365User
- Remove-WssMsoGroup
- Remove-WssMsoGroupAssignment
- Remove-WssMsoSharePointLibrary
- Remove-WssMsoSharePointPermission
- Remove-WssMsoUser
- Remove-WssMsoUserAssignment
- Rename-WssMsoAssignedUser
- Repair-WssRouterConfiguration
+ Reset-WssRemoteWebAccessBackgroundImage
+ Reset-WssRemoteWebAccessLogo
- Set-O365AssignedUser
- Set-O365Domain
- Set-O365EmailAddresses
+ Set-WssDesignatedDC
- Set-WssMsoGroupAssignment
- Set-WssMsoSharePointLibrary
- Set-WssMsoSharePointPermission
- Set-WssMsoUserAssignment
- Set-WssMsoUserLicense
- Start-WssRouterConfiguration
- Update-O365AccountName
WssSetupCmdlets055

WssCmdlets モジュールのコマンドレット数が激減している・・・

Windows Server 2012 R2 Essentials 専用PowerShell モジュール「WssCmdlets」にはOffice 365関連のPowerShell コマンドレットが含まれていましたが、Windows Server 2016 Essentials TP4では、新たにOnlineServicesWssCmdlets モジュールを設け、WssCmdlets モジュールから分離したようです。
WssCmdlets モジュールのコマンドレット数が激減している理由はこういう訳なんですね。

ModuleNew CmdletsWSE 2016 TP4WSE 2012 R2
OnlineServicesWssCmdlets 53530
Add-O365User
Add-WssMsoGroup
Add-WssMsoUser
Clear-O365AssignedUser
Disable-O365Integration
Disable-O365User
Disable-WssAzureBackupIntegration
Disable-WssMsoIntegration
Disable-WssMsoSharePointPermissionInheritance
Disable-WssMsoUser
Enable-O365Integration
Enable-O365User
Enable-WssAzureBackupIntegration
Enable-WssIntuneIntegration
Enable-WssMsoIntegration
Enable-WssMsoSharePointPermissionInheritance
Enable-WssMsoUser
Get-O365AssignedUser
Get-O365DnsRecord
Get-O365DomainConfiguration
Get-O365EmailAddresses
Get-O365SubscriptionInfo
Get-O365User
Get-WssMsoAssignedGroup
Get-WssMsoAssignedUser
Get-WssMsoDomainConfiguration
Get-WssMsoGroup
Get-WssMsoSharePointLibrary
Get-WssMsoSharePointPermission
Get-WssMsoSharePointPrincipal
Get-WssMsoSharePointSite
Get-WssMsoSubscription
Get-WssMsoUser
New-WssMsoSharePointLibrary
Remove-O365Domain
Remove-O365User
Remove-WssMsoGroup
Remove-WssMsoGroupAssignment
Remove-WssMsoSharePointLibrary
Remove-WssMsoSharePointPermission
Remove-WssMsoUser
Remove-WssMsoUserAssignment
Rename-WssMsoAssignedUser
Set-O365AssignedUser
Set-O365Domain
Set-O365EmailAddresses
Set-WssMsoGroupAssignment
Set-WssMsoSharePointLibrary
Set-WssMsoSharePointPermission
Set-WssMsoUserAssignment
Set-WssMsoUserLicense
Update-O365AccountName
Update-WssMsoPasswordSynchronization
余談:比較結果の元ネタ
今まで新旧OSのPowerShell コマンドレットを比較する場合、Excel 先生を使っていました。
少し面倒ですが目視で確認よりは遥かに確実であり楽です。
Windows Server 2012 R2 Essentials 専用PowerShell コマンドレットの一覧と新旧OSでの違い | 元「なんでもエンジニ屋」のダメ日記

違いだけを確認したいなら、Microsoft File Server TeamのJose Barreto氏のPowerShell スクリプトが最高です。
New PowerShell cmdlets in Windows Server 2016 TP2 (compared to Windows Server 2012 R2)
余談:データソースの生成方法
Jose Barreto氏のPowerShell スクリプトを見るとデータソースはXMLファイルです。
PowerShell コマンドレットの一覧をXML形式で出力するにはExport-Clixml コマンドレットを使います。
Get-Command | Export-Clixml <保存先>\<ファイル名>.xml