New CimSession - PowerShell
Overview
New-CimSession creates a new Common Information Model (CIM) session that establishes a connection to a remote computer for managing and querying WMI resources. It enables administrators to perform remote management and scripting tasks on remote systems.
Syntax
New-CimSession [-ComputerName] <string[]> [-Credential] <PSCredential> [-Port] <int> [-Authentication] <AuthenticationLevel> [-OperationTimeoutSec] <int> [-EnableNetworkAccess] [-UseSSL] [-UseHttp] [-SessionOption] <WSManSessionOption[]>
Options/Flags
- -ComputerName: Specifies the name of the remote computer to connect to. Multiple computer names can be provided for establishing concurrent sessions to multiple computers.
- -Credential: Indicates the credentials to use for authentication. If not specified, the current user’s credentials are used.
- -Port: Sets the port number for the CIM session connection. Default is 5985.
- -Authentication: Configures the authentication level for the session. Valid options are
Default
,Packet
,CredSSP
. Default isDefault
. - -OperationTimeoutSec: Defines the maximum time (in seconds) a session command can execute before timing out. Default is 120 seconds.
- -EnableNetworkAccess: Allows the session to access network resources, such as files and printers, on the remote computer. This is disabled by default.
- -UseSSL: Encrypts the session communication using SSL. Default is
$false
. - -UseHttp: Uses the HTTP protocol for session communication instead of HTTPS. Default is
$false
. - -SessionOption: Specifies additional options for the session, such as session locale, proxy settings, and more.
Examples
- Connect to a remote computer using the default credentials:
New-CimSession -ComputerName hostname
- Connect to a remote computer with specific credentials:
$cred = Get-Credential
New-CimSession -ComputerName hostname -Credential $cred
- Connect to multiple remote computers concurrently:
New-CimSession -ComputerName server1,server2,server3
- Connect to a remote computer using HTTP and enable network access:
New-CimSession -ComputerName hostname -UseHttp -EnableNetworkAccess
Common Issues
- Connection issues: Ensure that the remote computer is accessible and that the firewall is not blocking necessary ports. Verify that the credentials used have sufficient permissions.
- Authentication failures: Check if the specified credentials are correct and have the appropriate permissions on the remote computer. Ensure that the authentication level configured matches the remote computer’s requirements.
- Timeout errors: Increase the
-OperationTimeoutSec
value if commands are taking longer than expected to execute.
Integration
New-CimSession can be integrated with other PowerShell commands for advanced tasks:
- Get-CimInstance: Retrieve WMI instances from the remote computer.
- Invoke-CimMethod: Invoke methods on WMI classes on the remote computer.
- Set-CimInstance: Modify or create WMI instances on the remote computer.
- Register-CimIndicationEvent: Register for and receive WMI events from the remote computer.
Related Commands
- Get-CimSession: Retrieves existing CIM sessions.
- Remove-CimSession: Disconnects and removes CIM sessions.
- Enter-CimSession: Initiates an interactive session on the remote computer.