Skip to content
This repository has been archived by the owner on Jan 28, 2021. It is now read-only.
/ CimPSDrive Public archive

SHiPS based provider to navigate CIM classes and namespaces

License

Notifications You must be signed in to change notification settings

PowerShell/CimPSDrive

Repository files navigation

CimPSDrive

The CimPSDrive provider allows easy navigation and discovery of CIM namespaces, including those in WMI. CimPSDrive is a SHiPS based PowerShell provider and is based on CIM cmdlets.

CimPSDrive in Action

Supported Platform

  • PowerShell 5.1 (or later), which is shipped in Windows 10, Windows Server 2016, or WMF 5.1

Dependencies

SHiPS PowerShell module is required.

Usage

  • To start using the functionality of CimPSDrive, import the CimPSDrive module and create a PSDrive

    Import-Module -Name CimPSDrive -Verbose
    New-PSDrive -Name CIM -PSProvider SHiPS -Root CIMPSDrive#CMRoot
  • You can cd into a specific namespace and discover the classes

    # List the classes under cimv2 namespace on local machine
    
    CIM:\localhost\cimv2> dir
    
    # Output will be similar to the following
        Directory: CIM:\localhost\cimv2
    
    Mode Type      Name
    ---- ----      ----
    +    Namespace Applications
    +    Namespace mdm
    +    Namespace power
    +    Namespace Security
    +    Namespace sms
    +    Namespace TerminalServices
    +    Class     CCM_ComputerSystemExtended
    +    Class     CCM_LogicalMemoryConfiguration
    +    Class     CCM_OperatingSystemExtended
    +    Class     CIM_Action
    ...
    ...
  • Using dir or ls, you can find instances of a class

    # Find the details about operating system
    CIM:\localhost\cimv2\Win32_OperatingSystem> dir
    
    # Output will be similar to the following
    SystemDirectory     Organization BuildNumber RegisteredUser SerialNumber            Version    PSComputerName
    ---------------     ------------ ----------- -------------- ------------            -------    --------------
    C:\WINDOWS\system32              16299       Windows User   00329-00000-00003-AA424 10.0.16299 localhost
  • To connect to remote machines, use the Connect-CIM command

    Note: This command only works from within the PSDrive created above

    # Connect to a remote machine
    Connect-CIM -ComputerName remoteMachine
    
    # Now you can see another entry under the PSDrive root
    CIM:\localhost\cimv2\Win32_OperatingSystem> dir /
    
        Directory: CIM:
    
    Mode Type Name
    ---- ---- ----
    +         localhost
    +         remoteMachine

    Now you can navigate the CIM hierarchy on remoteMachine as well.

  • Use Disconnect-CIM command to disconnect from the remote machines

    Note: This command only works from within the PSDrive created above

Installing CimPSDrive

Developing and Contributing

Please follow the PowerShell Contribution Guide for how to contribute.

Legal and Licensing

CimPSDrive is under the MIT license.

About

SHiPS based provider to navigate CIM classes and namespaces

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published