編集メモ
重要
Windows PowerShell 言語仕様 3.0 は、2012 年 12 月に公開され、Windows PowerShell 3.0 に基づいています。 この仕様では、PowerShell の現在の状態は反映されません。 現在の状態を反映するようにこのドキュメントを更新する予定はありません。 このドキュメントは、履歴参照のためにここに示されています。
仕様文書は、Microsoft ダウンロード センターから Microsoft Word 文書として入手できます。https://www.microsoft.com/download/details.aspx?id=36389 Word 文書は、Microsoft Learn でプレゼンテーション用に変換されています。 変換中に、Docs プラットフォームの書式設定に対応するために、いくつかの編集の変更が行われました。 一部の入力ミスと軽微なエラーが修正されました。
PowerShell では、各値には型があり、型は 2 つの主要なカテゴリのいずれかに分類されます。値型 と 参照型。 値型の一般的な int
型について考えてみましょう。 int
型の値は完全に自己完結型です。その値を表すために必要なすべてのビットがその値に格納され、その値内のすべてのビット パターンがその型の有効な値を表します。 次に、参照型の一般的な配列型 int[]
について考えてみましょう。 配列型のいわゆる値は、配列要素が実際に格納されているオブジェクトへの参照、または値が $null
である null 参照を保持できます。 2 つの型カテゴリの重要な違いは、割り当て時のセマンティクスの違いによって最もよく示されます。 例えば
$i = 100 # $i designates an int value 100
$j = $i # $j designates an int value 100, which is a copy
$a = 10,20,30 # $a designates an object[], Length 3, value 10,20,30
$b = $a # $b designates exactly the same array as does $a, not a copy
$a[1] = 50 # element 1 (which has a value type) is changed from 20 to 50
$b[1] # $b refers to the same array as $a, so $b[1] is 50
ご覧のように、参照型の値の代入には、浅いコピーが含まれます。つまり、実際の値ではなく、オブジェクトへの参照のコピーです。 これに対し、ディープ コピー では、オブジェクトのコピーも作成する必要があります。
数値 型は、整数または小数部の値を表現でき、それらの値に対する算術演算をサポートする型です。 数値型のセットには、整数 (§4.2.3) と実数 (§4.2.4) 型が含まれますが、ブール (§4.2.1) または char (§4.2.2) は含まれません。 実装では、他の数値型 (符号付きバイト、符号なし整数、その他のサイズの整数など) を提供できます。
コレクション は、同じ型を持つ必要のない 1 つ以上の関連項目のグループです。
コレクション型の例としては、配列、スタック、キュー、リスト、ハッシュ テーブルがあります。 プログラムは、コレクション内の要素に対して を列挙
この章では、特定の型のアクセス可能なメンバーを一覧表示するテーブルがあります。 メソッドの場合、
その他の整数型は、
多くのコレクション クラスは、ICollection
、IComparer
、IEnumerable
、IList
、IDictionary
、および IDictionaryEnumerator
とその一般的な同等物を実装します。
一部の型には短縮名を使用することもできます。 詳細については、「about_Type_Accelerators」を参照してください。
4.1 特殊タイプ
4.1.1 void 型
この型はインスタンス化できません。 キャスト演算子 (§7.2.9) を使用して値を明示的に破棄する手段を提供します。
4.1.2 null 型
4.1.3 オブジェクトの種類
null 型 (§4.1.2) を除く PowerShell のすべての型は、型オブジェクトから直接または間接的に派生するため、オブジェクトはすべての null 以外の型の最終的な基本型です。 型オブジェクトに対して制約された変数 (§5.3
4.2 値型
4.2.1 ブール
ブール型は bool
です。 この型には、自動変数 $false
と $true
で表される False と Trueの 2 つの値があります (§2.3.2.2)。
PowerShell では、bool
は System.Boolean
にマップされます。
4.2.2 文字
文字値には char 型があり、UTF-16 でエンコードされた 16 ビット Unicode コード ポイントを格納できます。
char 型には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
最大値 | 静的プロパティ (読み取り専用) | char | char 型の可能な最大値 |
最小値 | 静的プロパティ (読み取り専用) | char | char 型の可能な最小値 |
IsControl | スタティックメソッド | bool/char | 文字がコントロール文字かどうかをテストします |
IsDigit | 静的メソッド | bool/char | 文字が 10 進数字かどうかをテストします |
IsLetter | スタティック メソッド | bool/char | 文字が英字かどうかをテストします |
IsLetterOrDigit | 静的メソッド | bool/char | 文字が 10 進数字または英字であるかどうかをテストします |
IsLower | 静的メソッド | bool/char | 文字が小文字かどうかをテストします |
IsPunctuation | static メソッド | bool/char | 文字が句読点であるかどうかをテストします |
IsUpper | スタティックメソッド | bool/char | 文字が大文字の英字かどうかをテストします |
IsWhiteSpace | スタティックメソッド | bool/char | 文字が空白文字かどうかをテストします。 |
ToLower | 静的メソッド | char/string | 文字を小文字に変換します。 |
ToUpper | 静的メソッド | char/string | 文字を大文字に変換します。 |
Windows PowerShell: char は System.Char にマップされます。
4.2.3 整数
負の値に対して 2 の補数表現を使用する 2 つの符号付き整数型があります。
- 型
int
は、32 ビットを使用して、範囲が -2147483648 から +2147483647 まで含まれます。 long
型では、64 ビットが使用され、-9223372036854775808 から +9223372036854775807 の範囲が表されます (両端を含む)。
type int には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
最大値 | 静的プロパティ (読み取り専用) | int | int 型の可能な最大値 |
最小値 | 静的プロパティ (読み取り専用) | 整数 (int) | int 型の可能な最小の値 |
型 long には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
最大値 | 静的プロパティ (読み取り専用) | long | long 型の可能な最大値 |
最小値 | 静的プロパティ (読み取り専用) | long | long 型の可能な最小値 |
1 つの符号なし整数型があります。
byte
型。8 ビットを使用し、0 ~ 255 の範囲を指定します。
型 byte
には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
最大値 | 静的プロパティ (読み取り専用) | バイト | byte 型に格納できる最大の値 |
最小値 | 静的プロパティ (読み取り専用) | バイト | byte型のデータ型における可能な最小値 |
PowerShell では、byte
、int
、および long
はそれぞれ、System.Byte
、System.Int32
、および System.Int64
にマップされます。
4.2.4 実数
4.2.4.1 float と double
次の 2 種類の実数 (または浮動小数点) があります。
- 型
float
は、32 ビットの IEEE 単精度表現を使用します。 - 型
double
は、64 ビット IEEE 倍精度表現を使用します。
3 番目の型名 single
は、型 float
のシノニムです。float
は、この仕様全体で使用されます。
この仕様では、float
型と double
型のサイズと表現が定義されていますが、実装では中間結果に拡張精度を使用できます。
型 float には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
最大値 | 静的プロパティ (読み取り専用) | 浮動小数 | float 型に格納できる最大の値 |
最小値 | 静的プロパティ (読み取り専用) | 浮動小数 | float 型に格納できる最小の値 |
NaN | 静的プロパティ (読み取り専用) | 浮動小数 | 定数値 Not-a-Number (非数) |
NegativeInfinity | 静的プロパティ (読み取り専用) | 浮動小数 | 負の無限大の定数値 |
PositiveInfinity | 静的プロパティ (読み取り専用) | 浮動小数 | 正の無限大の定数値 |
double 型には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
最大値 | 静的プロパティ (読み取り専用) | double | double 型に格納できる最大の値 |
最小値 | 静的プロパティ (読み取り専用) | double | double 型に格納できる最小の値 |
NaN | 静的プロパティ (読み取り専用) | double | 定数値 Not-a-Number (非数) |
NegativeInfinity | 静的プロパティ (読み取り専用) | double | 負の無限大の定数値 |
PositiveInfinity | 静的プロパティ (読み取り専用) | double | 正の無限大の定数値 |
PowerShell では、float
と double
がそれぞれ System.Single
と System.Double
にマップされます。
4.2.4.2 10 進数
decimal 型は 128 ビット表現を使用します。 少なくとも、スケール がサポートされ、0 <= s<が28以上であること、および値の範囲が -79228162514264337593543950335 から 79228162514264337593543950335 までである必要があります。decimal の実際の表現は実装に依存します。
型 decimal には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
最大値 | 静的プロパティ (読み取り専用) | decimal | decimal 型に格納できる最大の値 |
最小値 | 静的プロパティ (読み取り専用) | decimal | decimal 型に格納できる最小の値 |
手記
実数には スケールという特性があり、これは小数点の右側の桁数を表します。 たとえば、値 2.340 の小数点以下桁数は 3 で、末尾のゼロは重要です。 2 つの 10 進数の実数を加算または減算すると、結果のスケールは 2 つのスケールの中で大きくなります。 たとえば、1.0 + 2.000 は 3.000、5.0 から 2.00 は 3.00 です。 2 つの 10 進数の実数を乗算すると、結果のスケールは 2 つのスケールの合計になります。 たとえば、1.0 * 2.000 は 2.0000 です。 2 つの 10 進実数を除算すると、結果の小数点以下の桁数は、最初の数の小数点以下の桁数から2 番目の数の小数点以下の桁数を引いたものになります。 たとえば、4.00000/2.000 は 2.00 です。 ただし、正しい結果を保持するために必要なスケールより小さくすることはできません。 たとえば、3.000/2.000、3.00/2.000、3.0/2.000、3/2 はすべて 1.5 です。
PowerShell では、decimal
は System.Decimal
にマップされます。 decimal の表現は次のとおりです。
- 4 つの
int
値の配列と見なされる場合、次の要素が含まれます。- インデックス 0 (ビット 0 から 31) には、10 進係数の下位 32 ビットが含まれます。
- インデックス 1 (ビット 32 ~ 63) には、10 進係数の中間 32 ビットが含まれます。
- インデックス 2 (ビット 64 から 95) には、10 進係数の上位 32 ビットが含まれます。
- インデックス 3 (ビット 96 から 127) には、次のように符号ビットと小数点以下桁数が含まれます。
- ビット 0 から 15 は 0 です
- ビット 16 から 23 には、スケールが値 0 から 28 として含まれています
- ビット 24 から 30 はゼロです
- ビット 31 は符号です (正の場合は 0、負の場合は 1)。
4.2.5 スイッチの種類
この型は、コマンド内のパラメーターの型を制約するために使用されます (§8.10.5)。 対応するパラメーター名を持つ引数が存在する場合、パラメーター は$trueテストします。それ以外の場合は、$false
テストします。
PowerShell では、switch
は System.Management.Automation.SwitchParameter
にマップされます。
4.2.6 列挙型
列挙型は、その列挙型のオブジェクトに割り当てることができるすべての可能な値を表す名前付き定数のセットを定義する型です。 場合によっては、値のセットは、一度に 1 つの値しか表現できない場合があります。 それ以外の場合、値のセットは 2 の個別の累乗であり、-bor 演算子 (§7.8.5) を使用して、同じオブジェクトで複数の値をエンコードできます。
PowerShell 環境には、次のセクションで説明するように、さまざまな列挙型が用意されています。
4.2.6.1 Action-Preference 型
この実装定義型には、次の相互に排他的な値を持つアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 目的 |
---|---|---|
続ける | 列挙定数 | PowerShell ランタイムは処理を続行し、アクションが発生したことをユーザーに通知します。 |
問い合わせる | 列挙定数 | PowerShell ランタイムは処理を停止し、続行する方法をユーザーに求めます。 |
静かに続行 | 列挙定数 | PowerShell ランタイムは、アクションが発生したことをユーザーに通知することなく処理を続行します。 |
止める | 列挙定数 | PowerShell ランタイムは、アクションが発生すると処理を停止します。 |
PowerShell では、この種類は System.Management.Automation.ActionPreference
です。
4.2.6.2 Confirm-Impact 型
この実装定義型には、次の相互に排他的な値を持つアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 目的 |
---|---|---|
高 | 列挙定数 | 実行されるアクションでは、ハード ディスクの再フォーマットなど、データが失われるリスクが高くなります。 |
低 | 列挙定数 | 実行されたアクションは、データを失うリスクが低くなります。 |
中程度 | 列挙定数 | 実行されたアクションは、データを失うリスクが中程度です。 |
None | 列挙定数 | アクションを確認しないでください (確認のすべての要求を抑制します)。 |
PowerShell では、この種類は System.Management.Automation.ConfirmImpact
です。
4.2.6.3 File-Attributes 型
この実装定義型には、次のアクセス可能なメンバーがあり、これを組み合わせることができます。
メンバー | メンバーの種類 | 目的 |
---|---|---|
アーカイブ | 列挙定数 | ファイルのアーカイブ状態。 アプリケーションでは、この属性を使用して、バックアップまたは削除のためにファイルをマークします。 |
Compressed | 列挙定数 | ファイルは圧縮されます。 |
デバイス | 将来の使用のために予約されています。 | |
ディレクトリ | 列挙定数 | ファイルはディレクトリです。 |
暗号化 | 列挙定数 | ファイルまたはディレクトリは暗号化されます。 ファイルの場合、これはファイル内のすべてのデータが暗号化されることを意味します。 ディレクトリの場合は、暗号化が新しく作成されたファイルとディレクトリの既定値であることを意味します。 |
[非表示] | 列挙定数 | ファイルは非表示であるため、通常のディレクトリ 一覧には含まれません。 |
正常 | 列挙定数 | ファイルは通常のものであり、他の属性は設定されていません。 この属性は、単独で使用する場合にのみ有効です。 |
NotContentIndexed | 列挙定数 | ファイルは、オペレーティング システムのコンテンツ インデックス作成サービスによってインデックスが作成されません。 |
オフライン | 列挙定数 | ファイルはオフラインです。 ファイルのデータはすぐには使用できません。 |
ReadOnly | 列挙定数 | ファイルは読み取り専用です。 |
ReparsePoint | 列挙定数 | ファイルには再解析ポイントが含まれています。これは、ファイルまたはディレクトリに関連付けられているユーザー定義データのブロックです。 |
SparseFile | 列挙定数 | ファイルはスパース ファイルです。 スパース ファイルは通常、データがほとんどゼロである大きなファイルです。 |
システム | 列挙定数 | ファイルはシステム ファイルです。 ファイルはオペレーティング システムの一部であるか、オペレーティング システムによってのみ使用されます。 |
一時的 | 列挙定数 | ファイルは一時的なものです。 ファイル システムは、大量ストレージにデータをフラッシュするのではなく、アクセスを高速化するためにすべてのデータをメモリに保持しようとします。 一時ファイルは、不要になったらすぐにアプリケーションによって削除する必要があります。 |
PowerShell では、この型は FlagsAttribute 属性を持つ System.IO.FileAttributes です。
4.2.6.4 Regular-Expression-Option 型
この実装定義型には、次のアクセス可能なメンバーがあり、これを組み合わせることができます。
メンバー | メンバーの種類 | 目的 |
---|---|---|
IgnoreCase | 列挙定数 | 照合で大文字と小文字を区別しないことを指定します。 |
None | 列挙定数 | オプションが設定されていないことを指定します。 |
実装では、他の値が提供される場合があります。
PowerShell では、この型は System.Text.RegularExpressions.RegexOptions
で属性 FlagsAttribute
です。 以下の追加の値が定義されています: Compiled
、CultureInvariant
、ECMAScript
、ExplicitCapture
、IgnorePatternWhitespace
、Multiline
、RightToLeft
、Singleline
。
4.3 参照型
4.3.1 文字列
文字列値には文字列型があり、それぞれ UTF-16 でエンコードされた 16 ビット Unicode コード ポイントを含む char 型の 0 個以上の文字の不変シーケンスです。
型文字列には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
長さ | インスタンス プロパティ | int (読み取り専用) | 文字列内の文字数を取得します。 |
トゥー・ローワー (ToLower) | インスタンスメソッド | 糸 | 小文字に相当する文字列を含む新しい文字列を作成します。 |
トゥアッパー | インスタンス メソッド | 糸 | 対応する大文字が含まれる新しい文字列を作成します |
PowerShell では、string
は System.String
にマップされます。
4.3.2 配列
すべての配列型は、Array
型から派生します。 この型には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
長さ | インスタンス プロパティ (読み取り専用) | int | 配列内の要素の数 |
Rank | インスタンスプロパティ (読み取り専用) | int | 配列内の次元の数 |
コピー | 静的メソッド | void/目的列を参照 | ある配列から別の配列に要素の範囲をコピーします。 ソース Copy(source, destination, int count) |
GetLength | Instance メソッド (読み取り専用) | int/なし | 特定のディメンション内の要素の数 GetLength(int dimension) |
配列の詳細については、§9 参照してください。
PowerShell では、Array
は System.Array
にマップされます。
4.3.3 ハッシュテーブル
Type Hashtable には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
数える | インスタンス プロパティ | int | Hashtable 内のキーと値のペアの数を取得します。 |
[キー] | インスタンス プロパティ | 実装定義 | すべてのキーのコレクションを取得します。 |
価値観 | インスタンス プロパティ | 実装定義 | すべての値のコレクションを取得します。 |
remove | インスタンス メソッド | 無効/なし | 指定されたキー/値を削除します |
ハッシュテーブルの詳細については、§10 を参照してください。
PowerShell では、Hashtable
は System.Collections.Hashtable
にマップされます。 Hashtable
要素は DictionaryEntry
型のオブジェクトに格納され、Keys および Values によって返されるコレクションには型 ICollection
があります。
4.3.4 xml 型
型 xml は、W3C ドキュメント オブジェクト モデル (DOM) レベル 1 コアとコア DOM レベル 2 を実装します。 DOM は、XML ドキュメントのメモリ内 (キャッシュ) ツリー表現であり、このドキュメントのナビゲーションと編集を可能にします。 この型は、添字演算子 [] (§7.1.4.4) をサポートしています。
PowerShell では、xml
は System.Xml.XmlDocument
にマップされます。
4.3.5 正規表現の種類
型 regex
は、正規表現処理をサポートする機械を提供します。 これは、対応する引数に正規表現が含まれる可能性があるパラメーター (§5.3) の型を制限するために使用されます。
PowerShell では、regex
は System.Text.RegularExpressions.Regex
にマップされます。
4.3.6 ref 型
通常、引数は値によってコマンドに渡されます。 何らかの値を持つ引数の場合は、値のコピーが渡されます。 何らかの参照型を持つ引数の場合、参照のコピーが渡されます。
type ref には、引数を参照によってコマンドに渡すことができる機構が用意されているため、コマンドは引数の値を変更できます。 型 ref には、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
価値 | インスタンスプロパティ (読み取り/書き込み) | 参照される値の型。 | 参照される値を取得/設定します。 |
次の関数定義と呼び出しについて考えてみましょう。
function Doubler {
param ([ref]$x) # parameter received by reference
$x.Value *= 2.0 # note that 2.0 has type double
}
$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type double, value 8.0
$numberが型制約を受ける場合を考えてみましょう。
[int]$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type int, value 8
次に示すように、引数とそれに対応するパラメーターの両方を ref
宣言する必要があります。
PowerShell では、ref
は System.Management.Automation.PSReference
にマップされます。
4.3.7 スクリプトブロックの種類
型 scriptblock
は、1 つの単位として使用できるスクリプト テキストのプリコンパイル済みブロック (§7.1.8) を表します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
属性 | インスタンス プロパティ「読み取り専用」 | 属性のコレクション | スクリプト ブロックの属性を取得します。 |
File | インスタンス プロパティ (読み取り専用) | 糸 | スクリプト ブロックが定義されているファイルの名前を取得します。 |
モジュール | インスタンスプロパティ (読み取り専用) | 実装が定義されている ([§4.5.12][§4.5.12]) | スクリプト ブロックが定義されているモジュールに関する情報を取得します。 |
GetNewClosure | インスタンス メソッド | スクリプトブロック /なし |
モジュールにバインドされているスクリプト ブロックを取得します。 呼び出し元のコンテキストにあるローカル変数はすべて、モジュールにコピーされます。 |
Invoke | インスタンス メソッド | object/object[] のコレクション | 指定した引数を使用してスクリプト ブロックを呼び出し、結果を返します。 |
InvokeReturnAsIs | インスタンス メソッド | object/object[] | 指定した引数を使用してスクリプト ブロックを呼び出し、生成されたすべてのオブジェクトを返します。 |
作成 | 静的メソッド | スクリプトブロック /string |
指定したスクリプトを含む新しい scriptblock オブジェクトを作成します。 |
PowerShell では、scriptblock
は System.Management.Automation.ScriptBlock
にマップされます。 Invoke
は、PSObject
のコレクションを返します。
4.3.8 math 型
型 math
は、数学計算に役立ついくつかの定数とメソッドへのアクセスを提供します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
E | 静的プロパティ (読み取り専用) | double | 自然対数底 |
PI | 静的プロパティ (読み取り専用) | double | 円の円周の直径に対する比率 |
Abs | 静的メソッド | numeric/numeric | 絶対値 (戻り値の型は、渡された引数の型と同じです) |
Acos | スタティックメソッド | double/double | コサインが指定された数値である角度 |
Asin | 静的メソッド | double/double | サインが指定された値になる角度 |
Atan | 静的メソッド | double/double | タンジェントが指定された数値である角度 |
Atan2 | スタティックメソッド | double/double y、double x | タンジェントが指定された 2 つの値 x と y の商になる角度 |
天井 | 静的メソッド | decimal/decimal double/double |
指定した数値以上の最小整数 |
Cos | 静的メソッド | double/double | 指定された角度のコサイン |
Cosh | スタティックメソッド | double/double | 指定された角度の双曲線コサイン |
Exp | 静的メソッド | double/double | 指定された値で e を累乗した値 |
床 | スタティックメソッド | decimal/decimal double/double |
指定した数値以下の最大整数 |
ログ | 静的メソッド | double/double number double/double number、double base |
底 e または底 底 を使用した数値の対数 |
Log10 | スタティックメソッド | double/double | 指定した数値の 10 を底とする対数 |
マックス | スタティックメソッド | numeric/numeric | 指定された 2 つの数値の大きい値 (戻り値の型は、渡された引数の型と同じです) |
Min | スタティック メソッド | numeric/numeric、numeric | 指定された 2 つの数値の小さい値 (戻り値の型は、渡された引数の型と同じです) |
Pow | 静的メソッド | double/double x、double y | 指定された数値 x を y 乗した値 |
Sin | スタティック メソッド | double/double | 指定された角度のサイン |
Sinh | 静的メソッド | double/double | 指定された角度の双曲線サイン |
Sqrt | 静的メソッド | double/double | 指定した数値の平方根 |
Tan | 静的メソッド | double/double | 指定された角度のタンジェント |
Tanh | スタティックメソッド | double/double | 指定された角度の双曲線タンジェント |
PowerShell では、Math
は System.Math
にマップされます。
4.3.9 ordered 型
型 ordered
は、変換にのみ使用される擬似型です。
4.3.10 pscustomobject 型
型 pscustomobject
は、変換にのみ使用される擬似型です。
4.4 ジェネリック型
多くのプログラミング言語と環境には、"特殊化" できる型が用意されています。 これらの型の多くは、
型の特殊化を使用すると、ジェネリック型 を実装できるため、使用される型の一部のサブセットを処理するように制限できます。 例えば
- 文字列を保持するために特殊化されたジェネリック スタック型は、
Stack[string]
として書き込まれる場合があります。 - 関連付けられた文字列値を持つ int キーを保持するために特殊化されたジェネリック ディクショナリ型は、
Dictionary[int,string]
として書き込まれる場合があります。 - 文字列のスタックのスタックは、
Stack[Stack[string]]
のように記述される場合があります。
PowerShell は組み込みのジェネリック型を定義しませんが、ホスト環境で提供されている場合は、そのような型を使用できます。 §7.1.10の構文を参照してください。
上記で提案 Stack[string]
型の完全な名前は System.Collections.Generic.Stack[string]
です。 上記で提案 Dictionary[int,string]
型の完全な名前は System.Collections.Generic.Dictionary[int,string]
です。
4.5 匿名型
状況によっては、PowerShell の実装によって何らかの種類のオブジェクトが作成され、それらのオブジェクトにはスクリプトからアクセスできるメンバーが含まれます。 ただし、これらの型の実際の名前は、アクセス可能なメンバーが使用できるように十分に指定されている限り、指定する必要はありません。 つまり、スクリプトは、これらの型のオブジェクトを保存し、それらの型の名前を実際に知らなくてもメンバーにアクセスできます。 次のサブセクションでは、これらの型を指定します。
4.5.1 プロバイダーの説明の種類
この型は、プロバイダーの状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
ドライブ | インスタンスプロパティ (読み取り専用) | 実装の定義 (§4.5.2) | ドライブ記述オブジェクトのコレクション |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | プロバイダーの名前 |
PowerShell では、この種類は System.Management.Automation.ProviderInfo
です。
4.5.2 ドライブ記述型
この型は、ドライブの状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
現在地 | インスタンスプロパティ (読み取り/書き込み) | 糸 | ドライブの現在の作業場所 (§3.1.4) |
説明 | インスタンスプロパティ (読み取り/書き込み) | 糸 | ドライブの説明 |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | ドライブの名前 |
根 | インスタンス プロパティ (読み取り専用) | 糸 | ドライブの名前 |
PowerShell では、この種類は System.Management.Automation.PSDriveInfo
です。
4.5.3 変数の説明の種類
この型は、変数の状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
属性 | インスタンスプロパティ(読み取り専用) | 実装の定義 | 属性のコレクション |
説明 | インスタンス プロパティ (読み取り/書き込み) | 糸 | New-Variable または Set-Variable コマンドレットを使用して変数に割り当てられた説明。 |
モジュール | インスタンスプロパティ (読み取り専用) | 実装が定義されています (§4.5.12) | この変数のエクスポート元のモジュール |
ModuleName | インスタンス プロパティ (読み取り専用) | 糸 | この変数が定義されたモジュール |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | 変数が PowerShell 言語で作成されたとき、または New-Variable および Set-Variable コマンドレットを使用して変数に割り当てられる名前。 |
オプション | インスタンスプロパティ (読み取り・書き込み) | 糸 | New-Variable および Set-Variable コマンドレットを使用して変数に割り当てられるオプション。 |
価値 | インスタンス プロパティ (読み取り/書き込み) | オブジェクト | 変数が PowerShell 言語で割り当てられたときに、または New-Variable および Set-Variable コマンドレットを使用して変数に割り当てられる値。 |
PowerShell では、この種類は System.Management.Automation.PSVariable
です。
Windows PowerShell: 属性コレクションの型は System.Management.Automation.PSVariableAttributeCollection です。
4.5.4 エイリアス記述型
この型は、エイリアスの状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
CommandType | インスタンス プロパティ (読み取り専用) | 実装の定義 | "Alias" と等しいと判断されるべきです。 |
定義 | インスタンスプロパティ (読み取り専用) | 糸 | New-Alias または Set-Alias コマンドレットによってエイリアスが割り当てられたコマンドまたはエイリアス。 |
説明 | インスタンスプロパティ (読み取り/書き込み) | 糸 | New-Alias または Set-Alias コマンドレットを使用してエイリアスに割り当てられた説明。 |
モジュール | インスタンス プロパティ (読み取り専用) | 実装が定義されています (§4.5.12) | このエイリアスのエクスポート元のモジュール |
ModuleName | インスタンス プロパティ (読み取り専用) | 糸 | このエイリアスが定義されたモジュール |
名前 | インスタンスプロパティ (読み取り専用) | 糸 | エイリアスが New-Alias または Set-Alias コマンドレットを使用して作成されたときに割り当てられた名前。 |
オプション | インスタンスプロパティ (読み取り/書き込み) | 糸 | New-Alias New-Alias または Set-Alias コマンドレットを使用してエイリアスに割り当てられるオプション。 |
出力タイプ | インスタンスプロパティ (読み取り専用) | 実装で定義されたコレクション | 別名が参照するコマンドによって出力される値の型を指定します。 |
パラメーター | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドのパラメーター。 |
パラメーターセット | インスタンスプロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドに関連付けられているパラメーター セットに関する情報。 |
リファレンスコマンド (ReferencedCommand) | インスタンス プロパティ (読み取り専用) | 実装の定義 | このエイリアスによってすぐに参照されるコマンドに関する情報。 |
ResolvedCommand | インスタンスプロパティ (読み取り専用) | 実装の定義 | エイリアスが最終的に解決されるコマンドに関する情報。 |
PowerShell では、この種類は System.Management.Automation.AliasInfo
です。
4.5.5 作業場所の説明の種類
この型は、作業場所の状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
ドライブ | インスタンス プロパティ (読み取り専用) | 実装の定義 (§4.5.2) | ドライブ記述オブジェクト |
パス | インスタンス プロパティ (読み取り専用) | 糸 | 作業場所 |
供給者 | インスタンス プロパティ (読み取り専用) | 実装が定義されています (§4.5.1) | プロバイダー |
プロバイダーパス | インスタンス プロパティ (読み取り専用) | 糸 | プロバイダーの現在のパス |
作業場所のスタックは、前述のように、作業場所オブジェクトのコレクションです。
PowerShell では、現在の作業場所は System.Management.Automation.PathInfo
型のオブジェクトによって表されます。 作業場所のスタックは、System.Management.Automation.PathInfoStack
型のオブジェクト (PathInfo
オブジェクトのコレクション) によって表されます。
4.5.6 環境変数の説明の種類
この型は、環境変数の状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
名前 | インスタンスプロパティ (読み取り/書き込み) | 糸 | 環境変数の名前 |
価値 | インスタンス プロパティ (読み取り/書き込み) | 糸 | 環境変数の値 |
PowerShell では、この種類は System.Collections.DictionaryEntry
です。 変数の名前はディクショナリ キーです。 環境変数の値はディクショナリ値です。 名前 は、キーに相当する AliasProperty
です。
4.5.7 アプリケーションの説明の種類
この型は、アプリケーションの状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
コマンドタイプ | インスタンス プロパティ (読み取り専用) | 実装の定義 | "Application" と等しいかどうか比較する必要があります。 |
定義 | インスタンス プロパティ (読み取り専用) | 糸 | アプリケーションの説明。 |
拡張 | インスタンス プロパティ (読み取り/書き込み) | 糸 | アプリケーション ファイルの拡張子。 |
モジュール | インスタンス プロパティ (読み取り専用) | 実装が定義されています (§4.5.12) | このコマンドを定義するモジュール。 |
ModuleName | インスタンス プロパティ (読み取り専用) | 糸 | コマンドを定義するモジュールの名前。 |
名前 | インスタンス プロパティ(読み取り専用) | 糸 | コマンドの名前。 |
出力タイプ | インスタンスプロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドによって出力される値の型を指定します。 |
パラメーター | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドのパラメーター。 |
パラメータセット | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドに関連付けられているパラメーター セットに関する情報。 |
パス | インスタンス プロパティ (読み取り専用) | 糸 | アプリケーション ファイルのパスを取得します。 |
PowerShell では、この種類は System.Management.Automation.ApplicationInfo
です。
4.5.8 コマンドレットの説明の種類
この型は、コマンドレットの状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
コマンドタイプ | インスタンス プロパティ (読み取り専用) | 実装の定義 | "Cmdlet" と等しいかどうか比較する必要があります。 |
デフォルトパラメータセット | インスタンス プロパティ (読み取り専用) | 実装の定義 | PowerShell が指定された引数に基づいて使用するパラメーター セットを決定できない場合に使用される既定のパラメーター セット。 |
定義 | インスタンスプロパティ(読み取り専用) | 糸 | コマンドレットの説明。 |
ヘルプファイル | インスタンス プロパティ (読み取り/書き込み) | 糸 | コマンドレットのヘルプ ファイルへのパス。 |
実装タイプ | インスタンス プロパティ (読み取り/書き込み可) | 実装の定義 | コマンドレットを実装する型。 |
モジュール | インスタンス プロパティ (読み取り専用) | 実装が定義されています (§4.5.12) | このコマンドレットを定義するモジュール。 |
ModuleName | インスタンス プロパティ (読み取り専用) | 糸 | コマンドレットを定義するモジュールの名前。 |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | コマンドレットの名前。 |
名詞 | インスタンス プロパティ (読み取り専用) | 糸 | コマンドレットの名詞形式の名前。 |
出力タイプ | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドレットによって出力される値の型を指定します。 |
パラメーター | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドレットのパラメーター。 |
パラメーターセット | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドレットに関連付けられているパラメーター セットに関する情報。 |
動詞 | インスタンスプロパティ (読み取り専用) | 糸 | コマンドレットの動詞名。 |
PSSnapIn | インスタンスプロパティ (読み取り専用) | 実装の定義 | Windows PowerShell: コマンドレットの登録に使用される Windows PowerShell スナップインに関する情報。 |
PowerShell では、この種類は System.Management.Automation.CmdletInfo
です。
4.5.9 外部スクリプトの説明の種類
この型は、外部スクリプトの状態をカプセル化します (PowerShell によって直接実行可能ですが、組み込まれていません)。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
コマンドタイプ | インスタンスの特性 (読み取り専用) | 実装の定義 | "ExternalScript" と同等であるべきです。 |
定義 | インスタンス プロパティ (読み取り専用) | 糸 | スクリプトの定義。 |
モジュール | インスタンス特性(読み取り専用) | 実装が定義されています (§4.5.12) | このスクリプトを定義するモジュール。 |
ModuleName | インスタンス プロパティ (読み取り専用) | 糸 | スクリプトを定義するモジュールの名前。 |
名前 | インスタンスプロパティ (読み取り専用) | 糸 | スクリプトの名前。 |
OriginalEncoding | インスタンスプロパティ (読み取り専用) | 実装の定義 | スクリプトの文字をバイトに変換するために使用される元のエンコード。 |
OutputType | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | スクリプトによって出力される値の型を指定します。 |
パラメーター | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | スクリプトのパラメーター。 |
パラメーターセット | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | スクリプトに関連付けられているパラメーター セットに関する情報。 |
パス | インスタンスプロパティ (読み取り専用) | 糸 | スクリプト ファイルへのパス。 |
ScriptBlock | インスタンス プロパティ (読み取り専用) | スクリプトブロック | 外部スクリプト。 |
ScriptContents | インスタンス プロパティ (読み取り専用) | 糸 | スクリプトの元の内容。 |
PowerShell では、この種類は System.Management.Automation.ExternalScriptInfo
です。
4.5.10 関数の説明の種類
この型は、関数の状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
CmdletBinding | インスタンス プロパティ (読み取り専用) | bool | 関数が、コンパイルされたコマンドレットで使用されるのと同じパラメーター バインドを使用するかどうかを示します (§12.3.5を参照)。 |
コマンドタイプ | インスタンス プロパティ (読み取り専用) | 実装の定義 | 等しいかどうかを "Function" または "Filter" と比較して、このオブジェクトが表すオブジェクトを確認できます。 |
DefaultParameterSet | インスタンス プロパティ (読み取り専用) | 糸 | 引数から決定できない場合に使用するパラメーター セットを指定します (§12.3.5を参照)。 |
定義 | インスタンス プロパティ(読み取り専用) | 糸 | ScriptBlock の文字列バージョン |
説明 | インスタンス プロパティ (読み取り/書き込み) | 糸 | 関数の説明。 |
モジュール | インスタンスプロパティ (読み取り専用) | 実装が定義されています (§4.5.12) | この関数のエクスポート元のモジュール |
ModuleName | インスタンス プロパティ (読み取り専用) | 糸 | この関数が定義されたモジュール |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | 関数の名前 |
オプション | インスタンス プロパティ (読み取り/書き込み) | 実装の定義 | 関数のスコープ オプション (§3.5.4)。 |
出力タイプ | インスタンスプロパティ (読み取り専用) | 実装で定義されたコレクション | 出力される値の型を順番に指定します (§12.3.6を参照)。 |
パラメーター | インスタンスプロパティ(読み取り専用) | 実装で定義されたコレクション | パラメーター名を順番に指定します。 関数がコマンドレットのように動作する場合 (上記の CmdletBinding を参照)、共通パラメーター がコレクションの末尾に含まれます。 |
パラメータセット | インスタンス プロパティ (読み取り専用) | 実装で定義されたコレクション | コマンドに関連付けられているパラメーター セットに関する情報。 各パラメーターについて、結果にはパラメーター名と型が表示され、パラメーターが必須かどうかを位置またはスイッチ パラメーターで示します。 関数がコマンドレットのように動作する場合 (上記の CmdletBinding を参照)、共通パラメーター がコレクションの末尾に含まれます。 |
ScriptBlock | インスタンスプロパティ (読み取り専用) | スクリプト ブロック (§4.3.6) | 関数の本体 |
PowerShell では、この種類は System.Management.Automation.FunctionInfo
です。
CommandType
には型System.Management.Automation.CommandTypes
があります。Options
には型System.Management.Automation.ScopedItemOptions
があります。OutputType
には型System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]
があります。Parameters
には型System.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]
があります。ParameterSets
には型System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]
があります。- 可視性の種類は
System.Management.Automation.SessionStateEntryVisibility
です。 - PowerShell には、Visibility というプロパティもあります。
4.5.11 フィルターの説明の種類
この型は、フィルターの状態をカプセル化します。 関数の説明の種類 (§4.5.10
PowerShell では、この種類は System.Management.Automation.FilterInfo
です。 System.Management.Automation.FunctionInfo
(§4.5.11) と同じプロパティ セットがあります。
4.5.12 モジュールの説明の種類
この型は、モジュールの状態をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
説明 | インスタンス プロパティ (読み取り/書き込み) | 糸 | モジュールの説明 (マニフェストによって設定) |
モジュールタイプ | インスタンス プロパティ (読み取り専用) | 実装の定義 | モジュールの型 (マニフェスト、スクリプト、またはバイナリ) |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | モジュールの名前 |
パス | インスタンス プロパティ (読み取り専用) | 糸 | モジュールのパス |
PowerShell では、この種類は System.Management.Automation.PSModuleInfo
です。 ModuleType
の種類は System.Management.Automation.ModuleType
です。
4.5.13 カスタム オブジェクトの説明の種類
この型は、カスタム オブジェクトの状態をカプセル化します。 アクセス可能なメンバーはありません。
PowerShell では、この種類は System.Management.Automation.PSCustomObject
です。 コマンドレット Import-Module
と New-Object
は、この型のオブジェクトを生成できます。
4.5.14 コマンドの説明の種類
自動変数 $PsCmdlet
は、実行中のコマンドレットまたは関数を表すオブジェクトです。 このオブジェクトの型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
パラメータセット名 | インスタンス プロパティ (読み取り専用) | 糸 | 現在のパラメーター セットの名前 (ParameterSetName を参照) |
ShouldContinue | インスタンス メソッド | 過負荷 /bool |
ユーザーに操作の確認を要求します。 |
ShouldProcess | インスタンス メソッド | 過負荷になった /bool |
操作が実行される前に、ユーザーに確認を要求します。 |
PowerShell では、この型は System.Management.Automation.PSScriptCmdlet です。
4.5.15 エラーレコード記述タイプ
自動変数 $Error
には、最近のエラーを表すエラー レコードのコレクションが含まれています (§3.12)。 このコレクションの型は指定されていませんが、個々のエラー レコードにアクセスするための添字がサポートされています。
PowerShell では、コレクションの種類は System.Collections.ArrayList
。 コレクション内の個々のエラー レコードの型が System.Management.Automation.ErrorRecord
。 この型には、次のパブリック プロパティがあります。
- CategoryInfo - エラーのカテゴリに関する情報を取得します。
- ErrorDetails - 置換エラー メッセージなど、より詳細なエラー情報を取得および設定します。
- 例外 - このエラー レコードに関連付けられている例外を取得します。
- FullyQualifiedErrorId - このエラー レコードの完全修飾エラー識別子を取得します。
- InvocationInfo - エラーが発生したときに呼び出されたコマンドに関する情報を取得します。
- PipelineIterationInfo - このエラー レコードが作成されたときのパイプラインの状態を取得します
- TargetObject - エラーが発生したときに処理されていたオブジェクトを取得します。
4.5.16 列挙子の説明の種類
変数の数は、コレクションの列挙子です (§4)。 自動変数 $foreach
は、任意の foreach
ステートメントに対して作成された列挙子です。 自動変数 $input
は、パイプラインから関数に配信されるコレクションの列挙子です。 自動変数 $switch
は、任意の switch
ステートメントに対して作成された列挙子です。
列挙子の型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
現在 | インスタンス プロパティ (読み取り専用) | オブジェクト | コレクション内の現在の要素を取得します。 列挙子が現在コレクションの要素に配置されていない場合、動作は実装定義されます。 |
次へ進む | インスタンス メソッド | なし/bool | 列挙子をコレクションの次の要素に進めます。 列挙子が次の要素に正常に進んだ場合に$trueを返します。列挙子がコレクションの末尾を通過した場合に$falseします。 |
PowerShell では、これらのメンバーはインターフェイス System.IEnumerator
で定義されます。これは、次に示す型によって実装されます。 列挙子が現在コレクションの要素に配置されていない場合は、InvalidOperationException
型の例外が発生します。 $foreach
の場合、この型は System.Array+SZArrayEnumerator
です。 $input
の場合、この型は System.Collections.ArrayList+ArrayListEnumeratorSimple
です。 $switch
の場合、この型は System.Array+SZArrayEnumerator
です。
4.5.17 ディレクトリの説明の種類
コマンドレット New-Item では、FileSystem ディレクトリなど、さまざまな種類の項目を作成できます。 ディレクトリ記述オブジェクトの型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
属性 | インスタンス プロパティ (読み取り/書き込み) | 実装が定義されています (§4.2.6.3) | ディレクトリ オブジェクトの 1 つ以上の属性を取得または設定します。 |
作成時間 | インスタンス プロパティ (読み取り/書き込み) | 実装が定義されています (§4.5.19) | ディレクトリ オブジェクトの作成時刻を取得および設定します。 |
拡張 | インスタンス プロパティ (読み取り専用) | 糸 | ディレクトリ名の拡張部分を取得します。 |
FullName | インスタンス プロパティ (読み取り専用) | 糸 | ディレクトリの完全なパスを取得します。 |
最終更新日時 | インスタンス プロパティ (読み取り、書き込み) | 実装が定義されています (§4.5.19) | ディレクトリが最後に書き込まれた時刻を取得および設定します。 |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | ディレクトリの名前を取得します。 |
PowerShell では、この種類は System.IO.DirectoryInfo
です。 Attributes プロパティの型は System.IO.FileAttributes
です。
4.5.18 ファイルの説明の種類
コマンドレット New-Item
では、FileSystem ファイルなど、さまざまな種類の項目を作成できます。 ファイル記述オブジェクトの型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
属性 | インスタンス プロパティ (読み取り/書き込み) | 実装が定義されています (§4.2.6.3) | ファイル オブジェクトの 1 つ以上の属性を取得または設定します。 |
ベース名 | インスタンス プロパティ (読み取り専用) | 糸 | 拡張子を除くファイルの名前を取得します。 |
CreationTime | インスタンス プロパティ (読み取り/書き込み) | 実装が定義されています (§4.5.19) | ファイル オブジェクトの作成時刻を取得および設定します。 |
拡張 | インスタンス プロパティ (読み取り専用) | 糸 | ファイル名の拡張部分を取得します。 |
FullName | インスタンス プロパティ (読み取り専用) | 糸 | ファイルの完全なパスを取得します。 |
最終書き込み時刻 | インスタンスプロパティ (読み取り/書き込み) | 実装が定義されています (§4.5.19) | ファイルが最後に書き込まれた時刻を取得および設定します。 |
長さ | インスタンス プロパティ (読み取り専用) | long | ファイルのサイズをバイト単位で取得します。 |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | ファイルの名前を取得します。 |
バージョン情報 | インスタンス プロパティ (読み取り専用) | 実装の定義 | Windows PowerShell: この ScriptProperty は、ファイルの System.Diagnostics.FileVersionInfo を返します。 |
PowerShell では、この種類は System.IO.FileInfo
です。
4.5.19 日時記述型
日付/時刻記述オブジェクトの型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
日間 | インスタンス・プロパティ (読み取り専用) | int | このインスタンスによって表される月の日コンポーネントを取得します。 |
Hour | インスタンスプロパティ(読み取り専用) | int | このインスタンスによって表される日付の時間コンポーネントを取得します。 |
分 | インスタンスプロパティ (読み取り専用) | int | このインスタンスで表される日付の分の部分を取得します。 |
月 | インスタンス プロパティ (読み取り専用) | int | このインスタンスによって表される日付の月コンポーネントを取得します。 |
Second | インスタンスプロパティ (読み取り専用) | int | このインスタンスによって表される日付の秒のコンポーネントを取得します。 |
年式 | インスタンスプロパティ (読み取り専用) | int | このインスタンスによって表される日付の年コンポーネントを取得します。 |
この型のオブジェクトは、Get-Date
PowerShell では、この種類は System.DateTime
です。
4.5.20 グループ情報記述型
グループ情報 記述オブジェクトの型は、実装が定義されています。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 種類 | 目的 |
---|---|---|---|
数える | インスタンス プロパティ (読み取り専用) | int | グループ内の要素の数を取得します。 |
グループ | インスタンス プロパティ (読み取り専用) | 実装定義コレクション | グループの要素を取得します。 |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | グループの名前を取得します。 |
価値観 | インスタンス プロパティ (読み取り専用) | 実装定義コレクション | グループの要素の値を取得します。 |
この型のオブジェクトは、コマンドレット Group-Objectで作成できます。
PowerShell では、この種類は Microsoft.PowerShell.Commands.GroupInfo
です。
4.5.21 ジェネリック メジャー情報記述型
generic-measure-info 記述オブジェクトの型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
平均 | インスタンスプロパティ (読み取り専用) | double | 測定されるプロパティの値の平均を取得します。 |
数える | インスタンス プロパティ (読み取り専用) | int | 指定したプロパティを持つオブジェクトの数を取得します。 |
最大値 | インスタンス プロパティ (読み取り専用) | double | 指定したプロパティの最大値を取得します。 |
最低限 | インスタンス プロパティ (読み取り専用) | double | 指定したプロパティの最小値を取得します。 |
財産 | インスタンスプロパティ(読み取り専用) | 糸 | 測定するプロパティを取得します。 |
SUM | インスタンスプロパティ (読み取り専用) | double | 指定したプロパティの値の合計を取得します。 |
この型のオブジェクトは、Measure-Object
PowerShell では、この種類は Microsoft.PowerShell.Commands.GenericMeasureInfo
です。
4.5.22 テキスト メジャー情報記述型
テキスト情報 記述オブジェクトの型は、実装が定義されています。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
文字 | インスタンス プロパティ (読み取り専用) | int | ターゲット オブジェクト内の文字数を取得します。 |
行数 | インスタンスプロパティ (読み取り専用) | int | ターゲット オブジェクト内の行数を取得します。 |
財産 | インスタンス プロパティ (読み取り専用) | 糸 | 測定するプロパティを取得します。 |
単語 | インスタンス プロパティ (読み取り専用) | int | ターゲット オブジェクト内の単語数を取得します。 |
この型のオブジェクトは、コマンドレット Measure-Object
で作成できます。
PowerShell では、この種類は Microsoft.PowerShell.Commands.TextMeasureInfo
です。
4.5.23 資格情報の種類
資格情報オブジェクトは、さまざまなセキュリティ操作で使用できます。 資格情報オブジェクトの型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 種類 | 目的 |
---|---|---|---|
パスワード | インスタンス プロパティ (読み取り専用) | 実装の定義 | パスワードを取得します。 |
UserName | インスタンス プロパティ (読み取り専用) | 糸 | ユーザー名を取得します。 |
この種類のオブジェクトは、Get-Credential
PowerShell では、この種類は System.Management.Automation.PSCredential
です。
4.5.24 メソッド指定子の型
メソッド指定子の型は実装定義です。これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
Invoke | インスタンス メソッド | オブジェクト/変数の数と種類 | 可変数の引数を受け取り、親メソッド指定子によって参照されるメソッドを間接的に呼び出し、引数を渡します。 |
この型のオブジェクトは、呼び出し式 (§7.1.3) によって作成できます。
PowerShell では、この種類は System.Management.Automation.PSMethod です。
4.5.25 メンバー定義の種類
この型は、メンバーの定義をカプセル化します。 これには、次のアクセス可能なメンバーがあります。
メンバー | メンバーの種類 | 型 | 目的 |
---|---|---|---|
定義 | インスタンス プロパティ (読み取り専用) | 糸 | メンバーの定義を取得します。 |
メンバータイプ | インスタンス プロパティ (読み取り専用) | 実装の定義 | メンバーの PowerShell 型を取得します。 |
名前 | インスタンス プロパティ (読み取り専用) | 糸 | メンバーの名前を取得します。 |
タイプ名 | インスタンス プロパティ (読み取り専用) | 糸 | メンバーの型名を取得します。 |
PowerShell では、この種類は Microsoft.PowerShell.Commands.MemberDefinition
です。
4.6 型式拡張と適応
PowerShell の実装には、コア型のファミリ (この章で説明します) が含まれており、それぞれの型に独自のベース メンバーのセット
オブジェクトが作成されると、そのオブジェクトの型のすべてのインスタンス プロパティが格納され、そのオブジェクトに対してその型のインスタンス メソッドを呼び出すことができます。 オブジェクトは、実行時にインスタンス メンバーを追加してカスタマイズできます。 結果は、カスタム オブジェクトと呼ばれます。 インスタンスに追加されたメンバーは、そのインスタンスの有効期間中のみ存在します。同じコア型の他のインスタンスは影響を受けません。
型の基本メンバー セットは、次の種類のメンバーを追加することによって拡張できます。
- 適応メンバー。拡張型システム (ETS) によるもので、その詳細のほとんどは指定されていません。
- 拡張メンバー。Add-Member コマンドレットによるもの。
PowerShell では、拡張メンバーを types.ps1xml
ファイル経由で追加することもできます。 適応され拡張されたメンバーは、合成メンバーと総称される。
ETS は、すべての PowerShell オブジェクトに次のメンバーを追加します。psbase 、psadapted、psextended、および pstypenames。 これらのメンバーの詳細については、get-Member のコマンドレットの
インスタンス メンバーは、同じ名前の拡張メンバーまたは適合メンバーを非表示にし、拡張メンバーは適応メンバーを非表示にすることができます。 このような場合、psadapted および psextended のセットを使用して非表示のメンバーにアクセスすることができます。
types.ps1xml
が Supportsと呼ばれるメンバーを指定した場合、obj.psextended
は、Add-Member
を介して追加されたメンバーではなく、そのメンバーのみにアクセスできます。
新しいメンバー M を持つカスタム オブジェクトを作成する方法は 3 つあります。
この方法を使用して、1 つ以上の NoteProperty メンバーを追加できます。
$x = New-Object PSObject -Property @{M = 123}
この方法を使用して、NoteProperty または ScriptMethod メンバーを追加できます。
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}
この方法を使用して、任意の種類のメンバーを追加できます。
$x = New-Object PSObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PSObject
は、すべての PowerShell の種類の基本型です。
PowerShell