Get-PcsvDevice

Gets information about a remote hardware device.

Syntax

Get-PcsvDevice
   [-TimeoutSec <UInt32>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [<CommonParameters>]
Get-PcsvDevice
   [-TargetAddress] <String>
   [-Credential] <PSCredential>
   [-ManagementProtocol] <ManagementProtocol>
   [[-Port] <UInt16>]
   [-Authentication <Authentication>]
   [-UseSSL]
   [-SkipCACheck]
   [-SkipCNCheck]
   [-SkipRevocationCheck]
   [-TimeoutSec <UInt32>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [<CommonParameters>]

Description

The Get-PcsvDevice cmdlet gets information about a remote device. The cmdlet connects to a remote device, for example, a baseboard management controller, and collects hardware inventory information and information about the firmware installed on the device. The cmdlet communicates with the remote device by using the Intelligent Platform Management Interface (IPMI) or WS-Management (WSMAN) protocols.

Examples

Example 1: Get information from a remote IPMI device

PS C:\> $Credential = Get-Credential Admin
PS C:\> Get-PCSVDevice -TargetAddress "10.0.0.29" -ManagementProtocol IPMI -Credential $Credential
TargetAddress        Manufacturer         Model               SerialNumber    EnabledState

-------------        ------------         -----               ------------    ------------
10.177.231.27        DELL                 PowerEdge R720      CN7016329700EH  Enabled

This example connects with an IPMI device and returns hardware and firmware information for the device.

The first command uses the Get-Credential cmdlet to create a credential, and then stores it in the $Credential variable. The cmdlet prompts you for a user name and password. For more information, type Get-Help Get-Credential.

The second command returns the hardware and firmware information from the target computer. The command connects with the remote hardware device that has the management IP address 10.0.0.29 by using the IPMI management protocol and the default port (623). The command specifies the credential object stored in the $Credential variable.

The EnabledState property indicates whether the computer is on or off or in an alternate state, such as quiesce.

Example 2: Get information from a remote WSMAN device

PS C:\> $Credential = Get-Credential Admin
PS C:\> Get-PcsvDevice -TargetAddress "10.0.0.30" -Credential $Credential -ManagementProtocol WSMan -Port 664 -UseSSL -SkipCACheck -SkipCNCheck -SkipRevocationCheck

This example connects with a WS-Management device by using a custom port, and returns the hardware and firmware information for the device. The remote device uses a self-signed certificate for authentication, so the Get-PcsvDevice cmdlet specifies the SkipCACheck and SkipCNCheck parameters. Specify these parameters only for connecting to trusted remote hardware devices.

The first command uses the Get-Credential cmdlet to create a credential, and then stores it in the $Credential variable. The cmdlet prompts you for a user name and password. For more information, type Get-Help Get-Credential.

The second command returns the hardware and firmware information from the target computer. The command connects with the target computer that has the management IP address 10.0.0.30 by using the WS-Management protocol, SSL, and port 664. The command specifies the credential object stored in the $Credential variable.

The command specifies that the client connects by using HTTPS without validating that a CA authority signed the server certificate. The command specifies that the certificate common name (CN) of the server does not need to match the host name of the server. The command specifies that the cmdlet skips the revocation check of server certificates.

Example 3: Get information from a remote WSMAN device over HTTP

PS C:\> Set-Item WSMan:\localhost\Client\TrustedHosts "10.0.0.30"
PS C:\> Set-Item WSMan:\localhost\Client\AllowUnencrypted true
PS C:\> $Credential = Get-Credential Admin
PS C:\> Get-PCSVDevice -TargetAddress 10.0.0.30 -ManagementProtocol WSMan -Port 16992 -Credential $Credential -Authentication Digest

This example connects with a WS-Management using HTTP. Since the traffic is unencrypted, additional configuration on the management client is required.

The first two commands create the configuration that the WS-Management client on Windows requires to enable unencrypted WSMAN traffic. This is a one-time only configuration.

The third command uses the Get-Credential cmdlet to create a credential, and then stores it in the $Credential variable. The cmdlet prompts you for a user name and password. For more information, type Get-Help Get-Credential.

The fourth command connects with the target computer that has the management IP address 10.0.0.30 by using the WS-Management protocol and port 16992. The command specifies the credential object stored in the $Credential variable. The command specifies the Digest authentication method for the device.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

Specifies an authentication method to use for devices managed by WS-Management. Do not specify this parameter for devices managed by using IPMI. The acceptable values for this parameter are:

  • Basic
  • Digest
  • Default

If you specify Default for this parameter and a value of WSMAN for the ManagementProtocol parameter, the cmdlet uses Basic authentication.

Type:Authentication
Accepted values:Default, Basic, Digest
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifies a PSCredential object based on a user name and password. To obtain a PSCredential object, use the Get-Credential cmdlet. For more information, type Get-Help Get-Credential. This parameter specifies the credential for the remote hardware device.

Type:PSCredential
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ManagementProtocol

Specifies a management protocol used to communicate with a device. The acceptable values for this parameter are:

  • WSMAN
  • IPMI

Specify WSMAN for devices that represent information by using Systems Management Architecture for Server Hardware (SMASH), Desktop and mobile Architecture for System Hardware (DASH) or Physical Computer System View (PCSV) profiles. Refer to your hardware documentation for supported management protocols.

Type:ManagementProtocol
Aliases:MP
Accepted values:WSMan, IPMI
Position:3
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Port

Specifies a port on the remote computer to use for the management connection. If you do not specify a port, the cmdlet uses the following default ports:

  • IPMI and WSMAN over HTTP. Port 623.
  • WSMAN over HTTPS. Port 664
Type:UInt16
Position:4
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SkipCACheck

Indicates that the client connects by using HTTPS without validating that a trusted CA signed the server certificate. Do not specify this parameter if you specify a value of IPMI for the ManagementProtocol parameter.

Do not specify this parameter unless you can establish trust in another way, such as if the remote computer is part of a network that is physically secure and isolated, or if the remote computer is a trusted host in a Windows Remote Management (WinRM) configuration.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SkipCNCheck

Indicates that the certificate common name of the server does not need to match the host name of the server. Do not specify this parameter if you specify a value of IPMI for the ManagementProtocol parameter.

Specify this parameter only for managing devices by using WSMAN over HTTPS. Be sure to specify this parameter only for trusted computers.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SkipRevocationCheck

Indicates that the cmdlet skips the revocation check of server certificates. Do not specify this parameter if you specify a value of IPMI for the ManagementProtocol parameter.

Be sure to specify this parameter only for trusted computers.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TargetAddress

Specifies the name or IP address of the management port on the remote hardware device. For server hardware, this is typically a dedicated BMC IP address. For other devices, like network switches, this is the IP address of their management port. For desktop and mobile devices, the BMC sometimes shares the same IP address as the computer.

Type:String
Aliases:CN, ComputerName, IpAddress
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSec

Specifies how long to wait, in seconds, for a response from the remote hardware device. After this period, the cmdlet abandons the connection attempt.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UseSSL

Indicates that the server connects to the target computer by using SSL. WSMAN encrypts all content transmitted over the network. Specify this parameter to use the additional protection of HTTPS instead of HTTP. If you specify this parameter and SSL is not available on the connection port, the command fails.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Inputs

String

PSCredential

Microsoft.PowerShell.Cmdletization.GeneratedTypes.PcsvDevice.ManagementProtocol

UInt16

Microsoft.PowerShell.Cmdletization.GeneratedTypes.PcsvDevice.Authentication

SwitchParameter

UInt32

Outputs

CimInstance

CimInstance

A MSFT_PCSVDevice instance (derived from CIM_PhysicalComputerSystemView) that is used to represent the remote device.