2017-12-28 2 views
2

私は、拡張可能で、さまざまなタイプの実行ポリシーをハードコードしないユーティリティを作成しようとしています。 Get-Commandコマンドを使用すると、私は、Set-ExecutionPolicyに関するいくつかの情報を得ることができますが、私は私の知る限り得ているようPowershellでExecutionPolicyのメンバーを取得する

(get-command set-executionpolicy).parameters.executionpolicy 

ザッツに関するパラメータ型Microsoft.Powershell.ExecutionPolicyのメンバーを取得することはできません。私はget-typedataを使ってみましたが、Microsoft.Powershell.ExecutionPolicyを渡すときに何も返しません。

したがって、問題は次のとおりです。すべての実行ポリシータイプを列挙するにはどうすればよいですか。

+3

'(Get-Commandコマンドセットexecutionpolicy).parameters.executionpolicy.ParameterType.GetEnumNames()'私はとても近かった – PetSerAl

+0

、感謝 – todd1215

答えて

2

次の2つのオプションがあります列挙オブジェクトのプロパティと対話

#1:列挙自体と相互作用する、V3に導入

[Microsoft.PowerShell.ExecutionPolicy] | Get-Member -Static -MemberType Property 

TypeName: Microsoft.PowerShell.ExecutionPolicy 

Name   MemberType Definition 
----   ---------- ---------- 
AllSigned Property static Microsoft.PowerShell.ExecutionPolicy AllSigned {get;} 
Bypass  Property static Microsoft.PowerShell.ExecutionPolicy Bypass {get;} 
Default  Property static Microsoft.PowerShell.ExecutionPolicy Default {get;} 
RemoteSigned Property static Microsoft.PowerShell.ExecutionPolicy RemoteSigned {get;} 
Restricted Property static Microsoft.PowerShell.ExecutionPolicy Restricted {get;} 
Undefined Property static Microsoft.PowerShell.ExecutionPolicy Undefined {get;} 
Unrestricted Property static Microsoft.PowerShell.ExecutionPolicy Unrestricted {get;} 

#2- (これは@PetSerAlがコメントしたものの短いバージョンです)

          # Values() 
[Microsoft.PowerShell.ExecutionPolicy].GetEnumNames() 

Unrestricted 
RemoteSigned 
AllSigned 
Restricted 
Restricted 
Bypass 
Undefined 

プリV3:

  # Names() 
[Enum]::GetValues('Microsoft.PowerShell.ExecutionPolicy') 
関連する問題