I finally got a hold of Windows 8 laptop (thank you Microsoft!), connected a keyboard, launched PowerShell and here are the first few results before I run to the dinner. 😉
First off, let’s check the version:
PS C:\> $host.Version
Major Minor Build Revision
----- ----- ----- --------
3 0 -1 -1
So far so good…
When I tried to get all modules, at some point the operation failed but a lot still got added:
PS C:\> (Get-Module -All).count 234 PS C:\> (Get-Module -ListAvailable).count 44
A lot of the modules though seem to be automatically generated from CIM classes:
PS C:\> Get-Module -All ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest AppLocker {Get-AppLockerFileInformation, Get-AppLockerPolicy, New-AppLockerPolicy,... Script Appx Get-AppxLastError Binary Appx {Add-AppxPackage, Get-AppxPackage, Get-AppxPackageManifest, Remove-AppxP... Script BitLocker {Add-BitLockerKeyProtector, Add-BitLockerPassphraseProtector, Add-BitLoc... Manifest BitsTransfer {Add-BitsFile, Complete-BitsTransfer, Get-BitsTransfer, Remove-BitsTrans... Manifest BranchCache {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disable-BCDowngrad... Cim BranchCacheClientSetti... Get-BCClientSettings Cim BranchCacheContentServ... Get-BCContentServerSettings Cim BranchCacheHostedCache... Get-BCHostedCacheServerSettings Cim BranchCacheNetworkSett... Get-BCNetworkSettings Cim BranchCacheOrchestrator {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disable-BCDowngrad... Cim BranchCachePrimaryPubl... Get-BCHashCache Cim BranchCachePrimaryRepu... Get-BCDataCache Cim BranchCacheSecondaryRe... Get-BCDataCacheExtension Cim BranchCacheStatus Get-BCStatus Manifest CimCmdlets {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance, Get-CimSessio... Manifest DirectAccessClientComp... {Disable-DAManualSiteSelection, Enable-DAManualSiteSelection, Get-DAClie... Cim Disk {Clear-Disk, Get-Disk, Initialize-Disk, New-Partition...} Script Dism {Add-Driver, Add-Package, Add-ProvisionedAppxPackage, Clear-CorruptMount... Manifest DnsClient {Resolve-DnsName, Add-DnsClientNrptRule, Clear-DNSClientCache, Get-DNSCl... Manifest DnsConfig {Clear-DNSClientCache, Get-DNSClient, Get-DNSClientCache, Get-DNSGlobalS... Binary DnsLookup Resolve-DnsName Manifest DnsNrpt {Add-DnsClientNrptRule, Get-DnsClientEffectiveNrptPolicy, Get-DnsClientN... Cim InitiatorId {Get-InitiatorId, Remove-InitiatorId} Cim InitiatorPort {Get-InitiatorPort, Set-InitiatorPort} Manifest iSCSI {Connect-IscsiDiscoveredTarget, Disconnect-IscsiDiscoveredTarget, Get-Is... Cim iSCSIConnection Get-IscsiConnection Cim iSCSIDiscoveredTarget {Connect-IscsiDiscoveredTarget, Disconnect-IscsiDiscoveredTarget, Get-Is... Cim iSCSIInitiator Set-IscsiInitiator Cim iSCSIPersistentTarget {Get-IscsiPersistentTarget, Register-IscsiPersistentTarget, Unregister-I... Cim iSCSISession Get-IscsiSession Cim iSCSITargetPortal {Get-IscsiTargetPortal, New-IscsiTargetPortal, Remove-IscsiTargetPortal,...
Looking at the standard PowerShell modules we get:
PS C:\> Get-Module Microsoft.PowerShell.* ModuleType Name ExportedCommands ---------- ---- ---------------- Manifest Microsoft.PowerShell.Core {Add-History, Add-PSSnapin, Clear-History, Connect-PSSession...} Manifest Microsoft.PowerShell.D... {Export-Counter, Get-Counter, Get-WinEvent, Import-Counter...} Manifest Microsoft.PowerShell.Host {Start-Transcript, Stop-Transcript} Manifest Microsoft.PowerShell.M... {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...} Manifest Microsoft.PowerShell.S... {ConvertFrom-SecureString, ConvertTo-SecureString, Get-Acl, Get-Authenti... Manifest Microsoft.PowerShell.U... {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
PS C:\> (get-command -Module Microsoft.PowerShell.*).count
248
Here’s a quick list of all the standard cmdlets in the box at the moment:
PS C:\> get-command -Module Microsoft.PowerShell.* | sort module, noun | format-table ModuleName, Name -AutoSize ModuleName Name ---------- ---- Microsoft.PowerShell.Core Invoke-Command Microsoft.PowerShell.Core Get-Command Microsoft.PowerShell.Core Export-Console Microsoft.PowerShell.Core Out-Default Microsoft.PowerShell.Core Save-Help Microsoft.PowerShell.Core Get-Help Microsoft.PowerShell.Core Update-Help Microsoft.PowerShell.Core Add-History Microsoft.PowerShell.Core Invoke-History Microsoft.PowerShell.Core Clear-History Microsoft.PowerShell.Core Get-History Microsoft.PowerShell.Core Out-Host Microsoft.PowerShell.Core Get-Job Microsoft.PowerShell.Core Suspend-Job Microsoft.PowerShell.Core Stop-Job Microsoft.PowerShell.Core Receive-Job Microsoft.PowerShell.Core Wait-Job Microsoft.PowerShell.Core Resume-Job Microsoft.PowerShell.Core Start-Job Microsoft.PowerShell.Core Remove-Job Microsoft.PowerShell.Core Register-JobEvent Microsoft.PowerShell.Core Import-Module Microsoft.PowerShell.Core New-Module Microsoft.PowerShell.Core Get-Module Microsoft.PowerShell.Core Remove-Module Microsoft.PowerShell.Core Test-ModuleManifest Microsoft.PowerShell.Core New-ModuleManifest Microsoft.PowerShell.Core Export-ModuleMember Microsoft.PowerShell.Core Out-Null Microsoft.PowerShell.Core ForEach-Object Microsoft.PowerShell.Core Where-Object Microsoft.PowerShell.Core Set-PSDebug Microsoft.PowerShell.Core Enable-PSRemoting Microsoft.PowerShell.Core Disable-PSRemoting Microsoft.PowerShell.Core Get-PSSession Microsoft.PowerShell.Core Enter-PSSession Microsoft.PowerShell.Core Exit-PSSession Microsoft.PowerShell.Core New-PSSession Microsoft.PowerShell.Core Remove-PSSession Microsoft.PowerShell.Core Connect-PSSession Microsoft.PowerShell.Core Receive-PSSession Microsoft.PowerShell.Core Disconnect-PSSession Microsoft.PowerShell.Core Register-PSSessionConfiguration Microsoft.PowerShell.Core Disable-PSSessionConfiguration Microsoft.PowerShell.Core Unregister-PSSessionConfiguration Microsoft.PowerShell.Core Set-PSSessionConfiguration Microsoft.PowerShell.Core Get-PSSessionConfiguration Microsoft.PowerShell.Core Enable-PSSessionConfiguration Microsoft.PowerShell.Core Test-PSSessionConfigurationFile Microsoft.PowerShell.Core New-PSSessionConfigurationFile Microsoft.PowerShell.Core New-PSSessionOption Microsoft.PowerShell.Core Add-PSSnapin Microsoft.PowerShell.Core Remove-PSSnapin Microsoft.PowerShell.Core Get-PSSnapin Microsoft.PowerShell.Core New-PSTransportOption Microsoft.PowerShell.Core Set-StrictMode Microsoft.PowerShell.Diagnostics Get-Counter Microsoft.PowerShell.Diagnostics Import-Counter Microsoft.PowerShell.Diagnostics Export-Counter Microsoft.PowerShell.Diagnostics Get-WinEvent Microsoft.PowerShell.Diagnostics New-WinEvent Microsoft.PowerShell.Host Start-Transcript Microsoft.PowerShell.Host Stop-Transcript Microsoft.PowerShell.Management Get-ChildItem Microsoft.PowerShell.Management Export-CimCommand Microsoft.PowerShell.Management Stop-Computer Microsoft.PowerShell.Management Checkpoint-Computer Microsoft.PowerShell.Management Add-Computer Microsoft.PowerShell.Management Restore-Computer Microsoft.PowerShell.Management Remove-Computer Microsoft.PowerShell.Management Rename-Computer Microsoft.PowerShell.Management Restart-Computer Microsoft.PowerShell.Management Reset-ComputerMachinePassword Microsoft.PowerShell.Management Enable-ComputerRestore Microsoft.PowerShell.Management Disable-ComputerRestore Microsoft.PowerShell.Management Get-ComputerRestorePoint Microsoft.PowerShell.Management Test-ComputerSecureChannel Microsoft.PowerShell.Management Test-Connection Microsoft.PowerShell.Management Add-Content Microsoft.PowerShell.Management Get-Content Microsoft.PowerShell.Management Clear-Content Microsoft.PowerShell.Management Set-Content Microsoft.PowerShell.Management Show-ControlPanelItem Microsoft.PowerShell.Management Get-ControlPanelItem Microsoft.PowerShell.Management Write-EventLog Microsoft.PowerShell.Management New-EventLog Microsoft.PowerShell.Management Limit-EventLog Microsoft.PowerShell.Management Remove-EventLog Microsoft.PowerShell.Management Show-EventLog Microsoft.PowerShell.Management Get-EventLog Microsoft.PowerShell.Management Clear-EventLog Microsoft.PowerShell.Management Get-HotFix Microsoft.PowerShell.Management Move-Item Microsoft.PowerShell.Management Invoke-Item Microsoft.PowerShell.Management Rename-Item Microsoft.PowerShell.Management Copy-Item Microsoft.PowerShell.Management Get-Item Microsoft.PowerShell.Management Remove-Item Microsoft.PowerShell.Management Set-Item Microsoft.PowerShell.Management New-Item Microsoft.PowerShell.Management Clear-Item Microsoft.PowerShell.Management Remove-ItemProperty Microsoft.PowerShell.Management New-ItemProperty Microsoft.PowerShell.Management Get-ItemProperty Microsoft.PowerShell.Management Move-ItemProperty Microsoft.PowerShell.Management Clear-ItemProperty Microsoft.PowerShell.Management Copy-ItemProperty Microsoft.PowerShell.Management Rename-ItemProperty Microsoft.PowerShell.Management Set-ItemProperty Microsoft.PowerShell.Management Get-Location Microsoft.PowerShell.Management Set-Location Microsoft.PowerShell.Management Push-Location Microsoft.PowerShell.Management Pop-Location Microsoft.PowerShell.Management Convert-Path Microsoft.PowerShell.Management Resolve-Path Microsoft.PowerShell.Management Join-Path Microsoft.PowerShell.Management Split-Path Microsoft.PowerShell.Management Test-Path Microsoft.PowerShell.Management Wait-Process Microsoft.PowerShell.Management Get-Process Microsoft.PowerShell.Management Debug-Process Microsoft.PowerShell.Management Start-Process Microsoft.PowerShell.Management Stop-Process Microsoft.PowerShell.Management Get-PSDrive Microsoft.PowerShell.Management Remove-PSDrive Microsoft.PowerShell.Management New-PSDrive Microsoft.PowerShell.Management Get-PSProvider Microsoft.PowerShell.Management New-Service Microsoft.PowerShell.Management Set-Service Microsoft.PowerShell.Management Resume-Service Microsoft.PowerShell.Management Restart-Service Microsoft.PowerShell.Management Stop-Service Microsoft.PowerShell.Management Start-Service Microsoft.PowerShell.Management Get-Service Microsoft.PowerShell.Management Suspend-Service Microsoft.PowerShell.Management Start-Transaction Microsoft.PowerShell.Management Complete-Transaction Microsoft.PowerShell.Management Get-Transaction Microsoft.PowerShell.Management Use-Transaction Microsoft.PowerShell.Management Undo-Transaction Microsoft.PowerShell.Management New-WebServiceProxy Microsoft.PowerShell.Management Register-WmiEvent Microsoft.PowerShell.Management Set-WmiInstance Microsoft.PowerShell.Management Invoke-WmiMethod Microsoft.PowerShell.Management Remove-WmiObject Microsoft.PowerShell.Management Get-WmiObject Microsoft.PowerShell.Security Set-Acl Microsoft.PowerShell.Security Get-Acl Microsoft.PowerShell.Security Set-AuthentipreSignature Microsoft.PowerShell.Security Get-AuthentipreSignature Microsoft.PowerShell.Security Get-Credential Microsoft.PowerShell.Security Set-ExecutionPolicy Microsoft.PowerShell.Security Get-ExecutionPolicy Microsoft.PowerShell.Security Get-PfxCertificate Microsoft.PowerShell.Security ConvertTo-SecureString Microsoft.PowerShell.Security ConvertFrom-SecureString Microsoft.PowerShell.Utility Export-Alias Microsoft.PowerShell.Utility New-Alias Microsoft.PowerShell.Utility Import-Alias Microsoft.PowerShell.Utility Set-Alias Microsoft.PowerShell.Utility Get-Alias Microsoft.PowerShell.Utility Export-Clixml Microsoft.PowerShell.Utility Import-Clixml Microsoft.PowerShell.Utility Trace-Command Microsoft.PowerShell.Utility Show-Command Microsoft.PowerShell.Utility Measure-Command Microsoft.PowerShell.Utility ConvertTo-Csv Microsoft.PowerShell.Utility ConvertFrom-Csv Microsoft.PowerShell.Utility Export-Csv Microsoft.PowerShell.Utility Import-Csv Microsoft.PowerShell.Utility Get-Culture Microsoft.PowerShell.Utility Format-Custom Microsoft.PowerShell.Utility Get-Date Microsoft.PowerShell.Utility Set-Date Microsoft.PowerShell.Utility Write-Debug Microsoft.PowerShell.Utility Register-EngineEvent Microsoft.PowerShell.Utility Write-Error Microsoft.PowerShell.Utility Unregister-Event Microsoft.PowerShell.Utility Get-Event Microsoft.PowerShell.Utility New-Event Microsoft.PowerShell.Utility Wait-Event Microsoft.PowerShell.Utility Remove-Event Microsoft.PowerShell.Utility Get-EventSubscriber Microsoft.PowerShell.Utility Invoke-Expression Microsoft.PowerShell.Utility Unblock-File Microsoft.PowerShell.Utility Out-File Microsoft.PowerShell.Utility Get-FormatData Microsoft.PowerShell.Utility Export-FormatData Microsoft.PowerShell.Utility Update-FormatData Microsoft.PowerShell.Utility Out-GridView Microsoft.PowerShell.Utility Read-Host Microsoft.PowerShell.Utility Get-Host Microsoft.PowerShell.Utility Write-Host Microsoft.PowerShell.Utility ConvertTo-Html Microsoft.PowerShell.Utility ConvertFrom-Json Microsoft.PowerShell.Utility ConvertTo-Json Microsoft.PowerShell.Utility Format-List Microsoft.PowerShell.Utility Update-List Microsoft.PowerShell.Utility Import-LocalizedData Microsoft.PowerShell.Utility Send-MailMessage Microsoft.PowerShell.Utility Add-Member Microsoft.PowerShell.Utility Get-Member Microsoft.PowerShell.Utility Compare-Object Microsoft.PowerShell.Utility Tee-Object Microsoft.PowerShell.Utility New-Object Microsoft.PowerShell.Utility Measure-Object Microsoft.PowerShell.Utility Group-Object Microsoft.PowerShell.Utility Select-Object Microsoft.PowerShell.Utility Sort-Object Microsoft.PowerShell.Utility Register-ObjectEvent Microsoft.PowerShell.Utility Write-Output Microsoft.PowerShell.Utility Out-Printer Microsoft.PowerShell.Utility Write-Progress Microsoft.PowerShell.Utility Get-PSBreakpoint Microsoft.PowerShell.Utility Enable-PSBreakpoint Microsoft.PowerShell.Utility Disable-PSBreakpoint Microsoft.PowerShell.Utility Remove-PSBreakpoint Microsoft.PowerShell.Utility Set-PSBreakpoint Microsoft.PowerShell.Utility Get-PSCallStack Microsoft.PowerShell.Utility Export-PSSession Microsoft.PowerShell.Utility Import-PSSession Microsoft.PowerShell.Utility Get-Random Microsoft.PowerShell.Utility Invoke-RestMethod Microsoft.PowerShell.Utility Start-Sleep Microsoft.PowerShell.Utility Out-String Microsoft.PowerShell.Utility Select-String Microsoft.PowerShell.Utility ConvertFrom-StringData Microsoft.PowerShell.Utility Format-Table Microsoft.PowerShell.Utility New-TimeSpan Microsoft.PowerShell.Utility Get-TraceSource Microsoft.PowerShell.Utility Set-TraceSource Microsoft.PowerShell.Utility Add-Type Microsoft.PowerShell.Utility Update-TypeData Microsoft.PowerShell.Utility Remove-TypeData Microsoft.PowerShell.Utility Get-TypeData Microsoft.PowerShell.Utility Get-UICulture Microsoft.PowerShell.Utility Get-Unique Microsoft.PowerShell.Utility Get-Variable Microsoft.PowerShell.Utility Remove-Variable Microsoft.PowerShell.Utility New-Variable Microsoft.PowerShell.Utility Clear-Variable Microsoft.PowerShell.Utility Set-Variable Microsoft.PowerShell.Utility Write-Verbose Microsoft.PowerShell.Utility Write-Warning Microsoft.PowerShell.Utility Invoke-WebRequest Microsoft.PowerShell.Utility Format-Wide Microsoft.PowerShell.Utility Select-Xml Microsoft.PowerShell.Utility ConvertTo-Xml
To be continued… 😉