我是Powershell新手,试图枚举ExportedCmdlets
模块中的所有pscx
。我之前在powershell中使用了foreach
,但似乎没有使用ExportedCmdlets
的键/值输出。
这是我到目前为止所做的:
$cmdLets = (Get-Module pscx).ExportedCmdlets
echo $cmdLets
echo '-----------------'
# This is where the script breaks - $cmdLet is the entire set of $cmdLets
foreach ( $cmdLet in ($cmdLets) ) {
echo $cmdLet
echo 'next'
}
如何将$cmdLet
作为$cmdLets
中的单个项目?
更具体地说,如何在键/值输出上正确迭代?
答案 0 :(得分:2)
使用$cmdLets.GetEnumerator()
:
foreach ( $cmdLet in $cmdLets.GetEnumerator() ) {
echo $cmdLet
echo 'next'
}
答案 1 :(得分:1)
使用keys
属性,即:
$cmdLets = (Get-Module pscx).ExportedCmdlets.Keys
echo $cmdLets
echo '-----------------'
foreach ( $cmdLet in ($cmdLets) ) {
echo $cmdLet
echo 'next'
}