Get-SNMP Cmdlet
Parameters Output Objects Config Settings
The Get-SNMP component is used to query SNMP agents.
Syntax
Get-SNMP [parameters]
Remarks
The GET-SNMP cmdlet implements a standard SNMP Manager as specified in the SNMP RFCs. The cmdlet supports SNMP v1, v2c, and v3 through the Version parameter.
The cmdlet provides encoding/decoding, transport capabilities, and OID resolution, allowing for SNMP agents to be monitored directly from Powershell.
SNMP Get, GetNext, Walk and GetBulk are all supported.
SNMPv3 USM security is enabled by setting properties such as User and AuthenticationPassword. SNMPv3 encryption is enabled by setting EncryptionPassword.
Automatic translation from Node labels to OIDs is integrated in the cmdlet, allowing for a seamless integration with MIB files of different vendors.
The cmdlets support pipeline input for some of their parameters. Prebuilding an object and piping it to the cmdlet is very useful, but should be used with caution to prevent security conflicts. Steps have been taken to decrease the risk of a possibly accidental pipe to the cmdlet, for instance, the Credential parameter cannot be piped to the cmdlet and must be specified manually.
# snmp broadcast for agent information
get-snmp -agent 255.255.255.255 -oid 1.3.6.1.2.1.1.1.0 -translate
# perform a get-next request
get-snmp 10.0.1.11 sysDescr.0 -next:$true
# send a get-bulk request
get-snmp -agent 10.0.1.11 -oid sysName.0, sysDescr.0 -bulk 5 -NonRepeaters 1
Parameter List
The following is the full list of the parameters of the cmdlet with short descriptions. Click on the links for further details.
LogFile | The location of a file to which debug information is written. |
Agent | The address of the SNMP agent. |
AuthenticationPassword | The password to use for SNMPv3 authentication. |
AuthenticationProtocol | The authentication protocol used. |
Bulk | Indicates the number of maxRepetitions used to send a GetBulkRequest. |
Community | The community string used to authenticate SNMP packets. |
Config | Specifies one or more configuration settings. |
EncryptionAlgorithm | The encryption algorithm used for the request. |
EncryptionPassword | The password to use for SNMPv3 privacy encryption. |
LocalIP | The IP address of the local interface to use. |
LogFile | The location of a file to which debug information is written. |
Mib | Extra mib files to use for the Label to OID translation and vice versa. |
Next | Send a GetNext request for the OID . |
NonRepeaters | Count of variables not to be repeated. |
OID | The OID to use for this request. |
Port | The UDP port where the remote SNMP agent is listening. |
Timeout | The maximum time allowed for the operation. |
Translate | Resolve OIDs to labels in the response for the SNMP request. |
User | The username to use for authentication. |
Version | The version of SNMP to use for the request. |
Walk | Does an SNMP walk starting with the oid specified by OID . |
Output Objects
The following is the full list of the output objects returned by the cmdlet with short descriptions. Click on the links for further details.
OID | Returned from the SNMP operation. |
Config Settings
The following is a list of config settings for the cmdlet with short descriptions. Click on the links for further details.
HexMACAddress | Determines if MAC addresses are automatically hex encoded. |
UseScalarInstance | Whether to automatically use the OID for scalar object instances. |
BuildInfo | Information about the product's build. |
CodePage | The system code page used for Unicode to Multibyte translations. |
LicenseInfo | Information about the current license. |
MaskSensitive | Whether sensitive data is masked in log messages. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |
LogFile Parameter (Get-SNMP Cmdlet)
The location of a file to which debug information is written.
Syntax
Get-SNMP -LogFile string
Remarks
When specified, the cmdlet will log debug information to the file. If the file exists, the information will be appended.Default Value
null
Agent Property (Get-SNMP Cmdlet)
The address of the SNMP agent.
Syntax
Get-SNMP -Agent string
Remarks
The address or host name of the SNMP agent with which to communicate.
Default Value
""
Parameter Position
0
Parameter Alias
SNMPAgent
This is a required parameter.
AuthenticationPassword Property (Get-SNMP Cmdlet)
The password to use for SNMPv3 authentication.
Syntax
Get-SNMP -AuthenticationPassword string
Remarks
Every time EncryptionPassword or AuthenticationPassword are set, a localized key is computed automatically, and cached internally.
Default Value
""
Parameter Alias
AuthPassword
AuthenticationProtocol Property (Get-SNMP Cmdlet)
The authentication protocol used.
Syntax
Get-SNMP -AuthenticationProtocol string
Remarks
AuthenticationProtocol is used to specify the authentication protocol used when sending a secure trap.
Possible authentication protocol types are:
- MD5 (default)
- SHA
Default Value
1
Parameter Alias
AuthProtocol
Bulk Property (Get-SNMP Cmdlet)
Indicates the number of maxRepetitions used to send a GetBulkRequest.
Syntax
Get-SNMP -Bulk int
Remarks
Specifies the number of lexicographic successors to be returned. The NonRepeaters flag can also be set to the number of non repeaters for the GetBulk request.
Default Value
0
Community Property (Get-SNMP Cmdlet)
The community string used to authenticate SNMP packets.
Syntax
Get-SNMP -Community string
Remarks
Must match the community name that is specified on the agent.
Typical values are "public" or "private".
This parameter is used for all SNMP packets sent by the cmdlet.
Default Value
"public"
Config Property (Get-SNMP Cmdlet)
Specifies one or more configuration settings.
Syntax
Get-SNMP -Config string[]
Remarks
The Config parameter takes one or more name-value pairs that represent the name of the configuration setting and value, i.e.: -config "Name=Value"
Default Value
null
EncryptionAlgorithm Property (Get-SNMP Cmdlet)
The encryption algorithm used for the request.
Syntax
Get-SNMP -EncryptionAlgorithm string
Remarks
EncryptionAlgorithm is used to specify the encryption algorithm used when sending a secure request.
Possible encryption algorithm types are:
- DES (default)
- AES
- 3DES
- AES192
- AES256
Default Value
1
Parameter Alias
EncAlgorithm
EncryptionPassword Property (Get-SNMP Cmdlet)
The password to use for SNMPv3 privacy encryption.
Syntax
Get-SNMP -EncryptionPassword string
Remarks
Every time EncryptionPassword or AuthenticationPassword are set, a localized key is computed automatically, and cached internally.
Default Value
""
Parameter Alias
EncPassword
LocalIP Property (Get-SNMP Cmdlet)
The IP address of the local interface to use.
Syntax
Get-SNMP -LocalIP string
Remarks
This parameter is useful when the cmdlet is running on a machine that has more than one network interface (each with its own IP address and network access privileges).
Default Value
""
Parameter Alias
LocalAddress
LogFile Property (Get-SNMP Cmdlet)
The location of a file to which debug information is written.
Syntax
Get-SNMP -LogFile string
Remarks
When specified, the cmdlet will log debug information to the file. If the file exists, the information will be appended.
Default Value
""
Mib Property (Get-SNMP Cmdlet)
Extra mib files to use for the Label to OID translation and vice versa.
Syntax
Get-SNMP -Mib string[]
Remarks
The cmdlet will automatically pick up the mib files located in the "mibs" folder of the NetCmdlets module location. By default this will be "%UserProfile%\Documents\WindowsPowerShell\Modules\NetCmdlets\mibs".
By default some standard mib files are provided with the installation.
Default Value
null
Next Property (Get-SNMP Cmdlet)
Send a GetNext request for the OID .
Syntax
Get-SNMP -Next SwitchParameter
Remarks
If doing multiple GetNext requests a bulk or a walk would be a better alternative depending on the functionality that you want to achieve.
Default Value
false
NonRepeaters Property (Get-SNMP Cmdlet)
Count of variables not to be repeated.
Syntax
Get-SNMP -NonRepeaters int
Remarks
NonRepeaters specifies the number of variables for which a single lexicographic successor is to be returned.
Default Value
0
OID Property (Get-SNMP Cmdlet)
The OID to use for this request.
Syntax
Get-SNMP -OID string[]
Remarks
The OID can be a label or an actual OID, such as sysDescr.0 or 1.3.6.1.2.1.1.1.0.
Default Value
null
Parameter Position
1
Parameter Alias
Label
This is a required parameter.
Port Property (Get-SNMP Cmdlet)
The UDP port where the remote SNMP agent is listening.
Syntax
Get-SNMP -Port int
Remarks
Port specifies a service port on the remote host to which to connect.
A valid port number (a value between 1 and 65535) is required for the connection to take place.
Default Value
161
Parameter Alias
AgentPort
Timeout Property (Get-SNMP Cmdlet)
The maximum time allowed for the operation.
Syntax
Get-SNMP -Timeout int
Remarks
After the specified interval in seconds, the cmdlet will throw a Timeout error if the operation is not completed.
Default Value
10
Translate Property (Get-SNMP Cmdlet)
Resolve OIDs to labels in the response for the SNMP request.
Syntax
Get-SNMP -Translate SwitchParameter
Remarks
If the Translate switch is set, the cmdlet will attempt to resolve the textual syntax for any OID returned from the agent(s). If the Mib parameter is set, the cmdlet will use the specified Mib, the cmdlet will automatically pick up the mib files located in the MIBS folder of the NetCmdlets installation directory.
If the Translate switch is not set, or the OID cannot be matched, the numerical syntax will be returned.
Default Value
false
Parameter Alias
Resolve
User Property (Get-SNMP Cmdlet)
The username to use for authentication.
Syntax
Get-SNMP -User string
Remarks
When setting User you could also set EncryptionPassword and/or AuthenticationPassword depending on whether the desired behavior is authentication, encryption or both.
Default Value
""
Version Property (Get-SNMP Cmdlet)
The version of SNMP to use for the request.
Syntax
Get-SNMP -Version int
Remarks
The default version used is 2.
Default Value
2
Walk Property (Get-SNMP Cmdlet)
Does an SNMP walk starting with the oid specified by OID .
Syntax
Get-SNMP -Walk SwitchParameter
Remarks
A walk will traverse all OIDs in the OID table that are lexographically greater than OID. The result is given through a series of OID objects.
Default Value
false
OID Output Object (Get-SNMP Cmdlet)
Returned from the SNMP operation.
Syntax
Object OID {string Host;
string OID;
string OIDValue;
byte[] OIDValueB;
string OIDType;
int ErrorIndex;
int ErrorStatus;
string ErrorDescription;
}
Remarks
For each OID in every response received by the cmdlet an OID object will be returned.
Host contains the host address that the response was returned from.
OID contains the OID name for the response. If the Translate switch is set, the cmdlet will attempt to resolve the textual syntax for the OID.
OIDValue contains the value for the OID.
OIDValueB contains the value for the OID expressed as a byte array.
OIDType contains the type of OID received.
Possible object type values include:
- Integer
- OctetString
- Null
- ObjectID
- IPAddress
- Counter32
- Gauge32
- TimeTicks
- Opaque
- NSAP
- Counter64
- UnsignedInteger32
The cmdlet also supports the following artificial object values used to designate error conditions:
NoSuchObject | No such object error. |
NoSuchInstance | No such instance error. |
EndOfMibView | End of MIB View error. |
ErrorIndex contains the index of the variable which caused the error.
ErrorStatus contains the status code.
The following is a list of valid SNMP status code values:
0 (noError) | No error. |
1 (tooBig) | The response cannot fit in a single SNMP message. |
2 (noSuchName) | Variable does not exist. |
3 (badValue) | Invalid value or syntax. |
4 (readOnly) | Variable is read-only. |
5 (genError) | Other error (SNMPv1). |
6 (noAccess) | Access denied. |
7 (wrongType) | Wrong object type. |
8 (wrongLength) | Wrong length. |
9 (wrongEncoding) | Wrong encoding. |
10 (wrongValue) | Wrong value. |
11 (noCreation) | No creation. |
12 (inconsistentValue) | Inconsistent value. |
13 (resourceUnavailable) | Resource unavailable. |
14 (commitFailed) | Commit failed. |
15 (undoFailed) | Undo failed. |
16 (authorizationError) | Authorization error. |
17 (notWritable) | Variable is not writable. |
18 (inconsistentName) | Inconsistent name. |
Variable indexes start with 0. ErrorIndex has no meaning when ErrorStatus is 0 (no error).
ErrorDescription provides a textual description of the error.
Config Settings (Get-SNMP Cmdlet)
The cmdlet accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the cmdlet, access to these internal properties is provided through the Config method.Get-SNMP Config Settings
If the specified OID already ends with ".0" it will not be modified.
When set to False no modification of the OID will take place. The default value is True.
Base Config Settings
The following is a list of valid code page identifiers:
Identifier | Name |
037 | IBM EBCDIC - U.S./Canada |
437 | OEM - United States |
500 | IBM EBCDIC - International |
708 | Arabic - ASMO 708 |
709 | Arabic - ASMO 449+, BCON V4 |
710 | Arabic - Transparent Arabic |
720 | Arabic - Transparent ASMO |
737 | OEM - Greek (formerly 437G) |
775 | OEM - Baltic |
850 | OEM - Multilingual Latin I |
852 | OEM - Latin II |
855 | OEM - Cyrillic (primarily Russian) |
857 | OEM - Turkish |
858 | OEM - Multilingual Latin I + Euro symbol |
860 | OEM - Portuguese |
861 | OEM - Icelandic |
862 | OEM - Hebrew |
863 | OEM - Canadian-French |
864 | OEM - Arabic |
865 | OEM - Nordic |
866 | OEM - Russian |
869 | OEM - Modern Greek |
870 | IBM EBCDIC - Multilingual/ROECE (Latin-2) |
874 | ANSI/OEM - Thai (same as 28605, ISO 8859-15) |
875 | IBM EBCDIC - Modern Greek |
932 | ANSI/OEM - Japanese, Shift-JIS |
936 | ANSI/OEM - Simplified Chinese (PRC, Singapore) |
949 | ANSI/OEM - Korean (Unified Hangul Code) |
950 | ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC) |
1026 | IBM EBCDIC - Turkish (Latin-5) |
1047 | IBM EBCDIC - Latin 1/Open System |
1140 | IBM EBCDIC - U.S./Canada (037 + Euro symbol) |
1141 | IBM EBCDIC - Germany (20273 + Euro symbol) |
1142 | IBM EBCDIC - Denmark/Norway (20277 + Euro symbol) |
1143 | IBM EBCDIC - Finland/Sweden (20278 + Euro symbol) |
1144 | IBM EBCDIC - Italy (20280 + Euro symbol) |
1145 | IBM EBCDIC - Latin America/Spain (20284 + Euro symbol) |
1146 | IBM EBCDIC - United Kingdom (20285 + Euro symbol) |
1147 | IBM EBCDIC - France (20297 + Euro symbol) |
1148 | IBM EBCDIC - International (500 + Euro symbol) |
1149 | IBM EBCDIC - Icelandic (20871 + Euro symbol) |
1200 | Unicode UCS-2 Little-Endian (BMP of ISO 10646) |
1201 | Unicode UCS-2 Big-Endian |
1250 | ANSI - Central European |
1251 | ANSI - Cyrillic |
1252 | ANSI - Latin I |
1253 | ANSI - Greek |
1254 | ANSI - Turkish |
1255 | ANSI - Hebrew |
1256 | ANSI - Arabic |
1257 | ANSI - Baltic |
1258 | ANSI/OEM - Vietnamese |
1361 | Korean (Johab) |
10000 | MAC - Roman |
10001 | MAC - Japanese |
10002 | MAC - Traditional Chinese (Big5) |
10003 | MAC - Korean |
10004 | MAC - Arabic |
10005 | MAC - Hebrew |
10006 | MAC - Greek I |
10007 | MAC - Cyrillic |
10008 | MAC - Simplified Chinese (GB 2312) |
10010 | MAC - Romania |
10017 | MAC - Ukraine |
10021 | MAC - Thai |
10029 | MAC - Latin II |
10079 | MAC - Icelandic |
10081 | MAC - Turkish |
10082 | MAC - Croatia |
12000 | Unicode UCS-4 Little-Endian |
12001 | Unicode UCS-4 Big-Endian |
20000 | CNS - Taiwan |
20001 | TCA - Taiwan |
20002 | Eten - Taiwan |
20003 | IBM5550 - Taiwan |
20004 | TeleText - Taiwan |
20005 | Wang - Taiwan |
20105 | IA5 IRV International Alphabet No. 5 (7-bit) |
20106 | IA5 German (7-bit) |
20107 | IA5 Swedish (7-bit) |
20108 | IA5 Norwegian (7-bit) |
20127 | US-ASCII (7-bit) |
20261 | T.61 |
20269 | ISO 6937 Non-Spacing Accent |
20273 | IBM EBCDIC - Germany |
20277 | IBM EBCDIC - Denmark/Norway |
20278 | IBM EBCDIC - Finland/Sweden |
20280 | IBM EBCDIC - Italy |
20284 | IBM EBCDIC - Latin America/Spain |
20285 | IBM EBCDIC - United Kingdom |
20290 | IBM EBCDIC - Japanese Katakana Extended |
20297 | IBM EBCDIC - France |
20420 | IBM EBCDIC - Arabic |
20423 | IBM EBCDIC - Greek |
20424 | IBM EBCDIC - Hebrew |
20833 | IBM EBCDIC - Korean Extended |
20838 | IBM EBCDIC - Thai |
20866 | Russian - KOI8-R |
20871 | IBM EBCDIC - Icelandic |
20880 | IBM EBCDIC - Cyrillic (Russian) |
20905 | IBM EBCDIC - Turkish |
20924 | IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol) |
20932 | JIS X 0208-1990 & 0121-1990 |
20936 | Simplified Chinese (GB2312) |
21025 | IBM EBCDIC - Cyrillic (Serbian, Bulgarian) |
21027 | Extended Alpha Lowercase |
21866 | Ukrainian (KOI8-U) |
28591 | ISO 8859-1 Latin I |
28592 | ISO 8859-2 Central Europe |
28593 | ISO 8859-3 Latin 3 |
28594 | ISO 8859-4 Baltic |
28595 | ISO 8859-5 Cyrillic |
28596 | ISO 8859-6 Arabic |
28597 | ISO 8859-7 Greek |
28598 | ISO 8859-8 Hebrew |
28599 | ISO 8859-9 Latin 5 |
28605 | ISO 8859-15 Latin 9 |
29001 | Europa 3 |
38598 | ISO 8859-8 Hebrew |
50220 | ISO 2022 Japanese with no halfwidth Katakana |
50221 | ISO 2022 Japanese with halfwidth Katakana |
50222 | ISO 2022 Japanese JIS X 0201-1989 |
50225 | ISO 2022 Korean |
50227 | ISO 2022 Simplified Chinese |
50229 | ISO 2022 Traditional Chinese |
50930 | Japanese (Katakana) Extended |
50931 | US/Canada and Japanese |
50933 | Korean Extended and Korean |
50935 | Simplified Chinese Extended and Simplified Chinese |
50936 | Simplified Chinese |
50937 | US/Canada and Traditional Chinese |
50939 | Japanese (Latin) Extended and Japanese |
51932 | EUC - Japanese |
51936 | EUC - Simplified Chinese |
51949 | EUC - Korean |
51950 | EUC - Traditional Chinese |
52936 | HZ-GB2312 Simplified Chinese |
54936 | Windows XP: GB18030 Simplified Chinese (4 Byte) |
57002 | ISCII Devanagari |
57003 | ISCII Bengali |
57004 | ISCII Tamil |
57005 | ISCII Telugu |
57006 | ISCII Assamese |
57007 | ISCII Oriya |
57008 | ISCII Kannada |
57009 | ISCII Malayalam |
57010 | ISCII Gujarati |
57011 | ISCII Punjabi |
65000 | Unicode UTF-7 |
65001 | Unicode UTF-8 |
Identifier | Name |
1 | ASCII |
2 | NEXTSTEP |
3 | JapaneseEUC |
4 | UTF8 |
5 | ISOLatin1 |
6 | Symbol |
7 | NonLossyASCII |
8 | ShiftJIS |
9 | ISOLatin2 |
10 | Unicode |
11 | WindowsCP1251 |
12 | WindowsCP1252 |
13 | WindowsCP1253 |
14 | WindowsCP1254 |
15 | WindowsCP1250 |
21 | ISO2022JP |
30 | MacOSRoman |
10 | UTF16String |
0x90000100 | UTF16BigEndian |
0x94000100 | UTF16LittleEndian |
0x8c000100 | UTF32String |
0x98000100 | UTF32BigEndian |
0x9c000100 | UTF32LittleEndian |
65536 | Proprietary |
- Product: The product the license is for.
- Product Key: The key the license was generated from.
- License Source: Where the license was found (e.g., RuntimeLicense, License File).
- License Type: The type of license installed (e.g., Royalty Free, Single Server).
- Last Valid Build: The last valid build number for which the license will work.
This setting only works on these cmdlets: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.
Setting this configuration setting to true tells the cmdlet to use the internal implementation instead of using the system security libraries.
On Windows, this setting is set to false by default. On Linux/macOS, this setting is set to true by default.
If using the .NET Standard Library, this setting will be true on all platforms. The .NET Standard library does not support using the system security libraries.
Note: This setting is static. The value set is applicable to all cmdlets used in the application.
When this value is set, the product's system dynamic link library (DLL) is no longer required as a reference, as all unmanaged code is stored in that file.