Joe,
No problem. Get-PSSnapin only shows snap-ins loaded into your current session.
PS C:\> Get-PSSnapin
Name : Microsoft.PowerShell.Core
PSVersion : 5.0.9740.0
Description : This Windows PowerShell snap-in contains cmdlets used to manage components of Windows PowerShell.
You need to tell Get-PSSnapin to show you the registered snap-ins.
PS C:\> Get-PSSnapin -Registered
Name : Microsoft.Office.OneNote
PSVersion : 2.0
Description : Provides cmdlets for managing OneNote notebooks.
Add-PSSnapin can only load already registered snap-ins. There is no cmdlet to register snap-ins as far as I know. An installer for a snap-in needs to add a Registry key and values under HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns.
PS C:\> Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns
Name Property
---- --------
Microsoft.Office.OneNote PowerShellVersion : 2.0
Vendor : Microsoft
Description : Provides cmdlets for managing OneNote notebooks.
Version : 1.5.0.2
ApplicationBase : C:\Program Files (x86)\Microsoft.Office.OneNote.Commands
AssemblyName : Microsoft.Office.OneNote.Commands, Version=1.5.0.2,
Culture=neutral,
PublicKeyToken=ef8691f3764be4ad
ModuleName : C:\Program Files
(x86)\Microsoft.Office.OneNote.Commands\Microsoft.Office.OneNote.Commands.dll
I’ve downloaded and installed the OneNote PowerShell snap-in MSI which successfully registered the snap-in on my system.
PS C:\> Add-PSSnapin Microsoft.Office.OneNote
PS C:\> Get-Command -Module Microsoft.Office.OneNote
CommandType Name Source
----------- ---- ------
Cmdlet Close-OneNote Microsoft.Office.OneNote
Cmdlet Export-OneNote Microsoft.Office.OneNote
Cmdlet Get-OneNoteHierarchy Microsoft.Office.OneNote
Cmdlet Get-OneNoteHyperlink Microsoft.Office.OneNote
Cmdlet Get-OneNotePageContent Microsoft.Office.OneNote
Cmdlet Get-OneNoteTOC Microsoft.Office.OneNote
Cmdlet Open-OneNote Microsoft.Office.OneNote
Cmdlet Set-OneNotePageContent Microsoft.Office.OneNote
P.S. Microsoft.PowerShell.Core is a special case. This snap-in does not seem to be registered in the Registry and it is hosted in DLL which differs from the snap-in name.
PS C:\> Get-PSSnapin -Name Microsoft.PowerShell.Core | Format-List -Property *
Name : Microsoft.PowerShell.Core
IsDefault : True
ApplicationBase : C:\Windows\System32\WindowsPowerShell\v1.0
AssemblyName : System.Management.Automation, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL
ModuleName : C:\Windows\System32\WindowsPowerShell\v1.0\System.Management.Automation.dll
PSVersion : 5.0.9740.0
Version : 3.0.0.0
Types : {types.ps1xml, typesv3.ps1xml}
Formats : {Certificate.format.ps1xml, DotNetTypes.format.ps1xml, FileSystem.format.ps1xml,
Help.format.ps1xml...}
Description : This Windows PowerShell snap-in contains cmdlets used to manage components of Windows
PowerShell.
Vendor : Microsoft Corporation
LogPipelineExecutionDetails : False
I hope above helps.
Best,
Daniel