Expand-Zip Cmdlet
Parameters Output Objects Config Settings
The Expand-ZIP component implements a decompressor for ZIP, GZIP, JAR, and TAR archives.
Syntax
Expand-Zip [parameters]
Remarks
The format for decompression is specified by the Format parameter.
To scan an archive, set the Input parameter to the archive to examine, and set the Format parameter to the appropriate type. A ZipFileInfo object will be returned for every entry in the archive.
If the Output parameter is set, the cmdlet will attempt to extract the archive to the specified location. A single ZipFileInfo object will be returned indicating the success of the operation and the number of extracted files.
For the Zip format, the cmdlet uses the Deflate algorithm specified in RFC 1951 for decompression, and reads output compatible with PKZip, WinZip, etc.
For Gzip, the cmdlet component implements a gzip decompressor compliant to RFC 1952 and compatible with the UNIX gzip and gunzip utilities.
For Jar files, the operation of the cmdlet is similar to that of the Zip format.
The Tar files, the cmdlet implements a tar archive utility, compatible with the UNIX tar and untar utilities. The interface is identical to that of the Zip format and is the same whether gzip compression is used or not, so the Tar Format can be used for both .tar and .tgz archives.
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.
# scan a jar file
Expand-Zip -Input "simple.jar" -Format "jar"
# extract files from a zip archive
Expand-Zip -Input "C:\temp.zip" -Password "mypassword" -Output "C:\temp"
# extract files from a tar-gzip archive
Expand-Zip -Input "C:\sample.tgz" -Format "tar"
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. |
Config | Specifies one or more configuration settings. |
ExcludedFiles | A list of files to exclude. |
Format | The format of the compression used. |
IncludedFiles | Specifies that only files matching the provided values should be extracted. |
Input | The archive file from which to read. |
LogFile | The location of a file to which debug information is written. |
Output | The directory where the files will be decompressed. |
Overwrite | Whether or not to overwrite files when writing to them. |
Password | The password for the zip archive. |
Recurse | Whether or not to recurse into subdirectories. |
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.
ZipFileInfo | Information about the entries in the archive. |
Config Settings
The following is a list of config settings for the cmdlet with short descriptions. Click on the links for further details.
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 (Expand-Zip Cmdlet)
The location of a file to which debug information is written.
Syntax
Expand-Zip -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
Config Property (Expand-Zip Cmdlet)
Specifies one or more configuration settings.
Syntax
Expand-Zip -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
ExcludedFiles Property (Expand-Zip Cmdlet)
A list of files to exclude.
Syntax
Expand-Zip -ExcludedFiles string[]
Remarks
This parameter may be set to one or more filenames or directory names. Files may be specified with or without a path, and with or without wildcards. If a path is specified, files in the indicated directory will be excluded If no path is specified but wildcards are, matching files in all directories will be excluded.
Directories should end with a slash ("/" or "\", as appropriate.) If a directory is specified, all files and subdirectories in the specified directory will be excluded.
The ExcludedFiles parameter is not supported when extracting GZIP archives.
Default Value
null
Format Property (Expand-Zip Cmdlet)
The format of the compression used.
Syntax
Expand-Zip -Format string
Remarks
Possible values for the compression used include: Zip, Gzip, Jar, Tar, ZipSFX.
Default Value
0
IncludedFiles Property (Expand-Zip Cmdlet)
Specifies that only files matching the provided values should be extracted.
Syntax
Expand-Zip -IncludedFiles string[]
Remarks
If IncludedFiles is specified, only files with names matching the specified values will be extracted. You can also specify which files to extract using masks ("/dir/*.txt"). If IncludedFiles is not provided, then all files in the archive will be extracted.
Both IncludedFiles and ExcludedFiles can be specified at the same time, in which case only files matching IncludedFiles and not matching ExcludedFiles will be extracted.
The IncludedFiles parameter is not supported when extracting files from a GZIP archive.
Default Value
null
Input Property (Expand-Zip Cmdlet)
The archive file from which to read.
Syntax
Expand-Zip -Input string
Remarks
This parameter indicates the archive file to decompress. The format of the file is specified by Format.
Default Value
""
Parameter Position
0
Parameter Alias
in
This is a required parameter.
LogFile Property (Expand-Zip Cmdlet)
The location of a file to which debug information is written.
Syntax
Expand-Zip -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
""
Output Property (Expand-Zip Cmdlet)
The directory where the files will be decompressed.
Syntax
Expand-Zip -Output string
Remarks
If a value is specified, the cmdlet will attempt to extract the archive to that location. An output location of empty string will result in the archive being extracted to the current directory. If no output directory is specified, the cmdlet will only scan the archive without decompressing it.
Default Value
""
Parameter Alias
out
Overwrite Property (Expand-Zip Cmdlet)
Whether or not to overwrite files when writing to them.
Syntax
Expand-Zip -Overwrite SwitchParameter
Remarks
If set to true, the user is not queried for confirmation when overwriting a file.
Default Value
false
Password Property (Expand-Zip Cmdlet)
The password for the zip archive.
Syntax
Expand-Zip -Password string
Remarks
If the archive is password protected, the Password parameter must be set to the value of the password.
Default Value
""
Recurse Property (Expand-Zip Cmdlet)
Whether or not to recurse into subdirectories.
Syntax
Expand-Zip -Recurse SwitchParameter
Remarks
This switch affects the behavior of Input and the meaning of excluded files. If this switch is set, Input will recurse into all subdirectories whenever it performs a search on the file system.
This setting has no effect on scan operations.
Default Value
false
ZipFileInfo Output Object (Expand-Zip Cmdlet)
Information about the entries in the archive.
Syntax
Object ZipFileInfo {string CompressedName;
string DecompressedName;
bool IsDirectory;
long Length;
}
Remarks
For every entry found in the archive, a ZipFileInfo object will be returned.
CompressedName is the name of the entry in the archive, including any directory information.
DecompressedName is the name of the extracted archive (if extracting).
IsDirectory is true if this is a directory entry, false otherwise.
Length is the size, in bytes, of the entry.
Note: During a scan operation for the GZIP Format, the length cannot be computed and it's always 0.
Config Settings (Expand-Zip 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.
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.