1

Powershell v3.0のRCを使用しています。返されたオブジェクト(結果の「ExportedCommands」プロパティなどGet-Module -ListAvailable)でリストをクエリして表示する方法を知りたいです。

PS H:\> get-module -ListAvailable


    Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules


ModuleType Name                                ExportedCommands
---------- ----                                ----------------
Manifest   AppLocker                           {Set-AppLockerPolicy, Get-AppLockerPolicy, Test-AppLockerPolicy, Get-...
Manifest   BitsTransfer                        {Add-BitsFile, Remove-BitsTransfer, Complete-BitsTransfer, Get-BitsTr...
Manifest   CimCmdlets                          {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance, Get-CimSes...
4

2 に答える 2

1

まあ..それはすべて2つの要因に依存します:

  • あなたのコレクションが実際に何であるか(このコマンドで - あなたは辞書を引くことができます)
  • あなたはそれをたいですか、それとも行動したいですか。

この場合、これがディクショナリ コレクションであることがわかっているので、次のことができます。

Get-Module -ListAvailable | 
    Format-List Name, @{ 
        Name = 'ExportedCommands'
        Expression = { 
            $_.ExportedCommands.Keys -join "`n" 
        }
    }

.. または、これらのキーにアクセスすることもできますが、モジュールの追跡が失われます。または、逆にすることもできます:

Get-Command | Sort Module | Format-Table Name -GroupBy Module

繰り返しますが、これはデータを表示するためだけのものです。それを操作したい場合は、format-* は役に立ちません。代わりに select (おそらく -expand パラメーターを使用) を使用する必要があります。

于 2012-06-22T11:58:01.433 に答える
0

ここでの OP の投稿の問題は、PowerShell がデフォルトで、このタイプの繰り返しグループの最初の N 個の値のみを表示することです。したがって、エクスポートされたコマンドについては、最初の 4 つだけが表示されます (デフォルトは 4)。これを変更するには、変数 $FormatEnumerationLimit により高い値を設定します。また、Format-Table の機能によっては、次に示すように、FT への明示的なパイプで -wrap を指定する必要がある場合もあります。

PSH [C:\foo]: $FormatEnumerationLimit = 99
PSH [C:\foo]: get-module -ListAvailable | ft -wrap


    Directory: C:\Users\tfl.COOKHAM\Documents\WindowsPowerShell\Modules


ModuleType Name                                ExportedCommands
---------- ----                                ----------------
Manifest   Audit
Script     authenticode                        {New-PoshCode, Get-PoshCode, Get-PoshCodeUpgrade, Get-WebFile, Set-DownloadFlag,
                                               Remove-DownloadFlag, Get-DownloadFlag, Test-DownloadFlag, block, unblock,
                                               Search-PoshCode}
Script     DotNet                              {Get-Type, Get-ProgID, Get-CommandWithParameterType}
Manifest   DTW.PS.FIleSystem                   Get-DTWFileEncoding
Manifest   DTW.PS.PrettyPrinterV1              Get-DTWFileEncoding
Script     EZOut                               {Add-FormatData, Clear-FormatData, Remove-FormatData, Out-FormatData,
                                               Show-CustomAction, Write-FormatView, Write-CustomAction, Write-FormatTableView,
                                               Get-FormatFile, Find-FormatView, Get-PropertySet, Add-TypeData, Clear-TypeData,
                                               Remove-TypeData, Out-TypeData, Write-TypeView}
Script     FileSystem                          {Copy-ToZip, Get-DuplicateFile, Get-FreeDiskSpace, Get-SHA1, New-Zip,
                                               Mount-SpecialFolder, Rename-Drive, Resolve-ShortcutFile, Start-FileSystemWatcher}
Manifest   FileTransfer                        {Add-BitsFile, Remove-BitsTransfer, Complete-BitsTransfer, Get-BitsTransfer,
                                               Start-BitsTransfer, Resume-BitsTransfer, Set-BitsTransfer, Suspend-BitsTransfer}
Manifest   hyperv                              {Add-ZIPContent, ConvertTo-Enum, Copy-ZipContent, Get-ZIPContent, Select-Item,
                                               Select-List, Select-EnumType, Out-Tree, Select-Tree, Test-Admin,
                                               Convert-DiskIDtoDrive, Get-FirstAvailableDriveLetter, New-Zip, Test-WMIJob,
                                               Test-WMIResult}
Script     IsePack                             {Add-ForeachStatement, Add-IfStatement, Add-InlineHelp, Add-IseMenu,
                                               Add-Parameter, Add-PInvoke, Add-SwitchStatement, Close-AllOpenedFiles,
                                               ConvertTo-ShortcutKeyTable, Copy-Colored, Copy-ColoredHTML, Export-FormatView,
                                               Get-CurrentOpenedFileToken, Get-CurrentToken, Get-FunctionFromFile,
                                               Get-TokenFromFile, Invoke-Line, Move-ToLastGroup, Move-ToLastPowerShellTab,
                                               Move-ToNextGroup, Move-ToNextPowerShellTab, New-IseScript,
                                               New-ScriptModuleFromCurrentLocation, Push-CurrentFileLocation,
                                               Save-IseFileWithAutoName, Select-AllInFile, Select-CurrentText,
                                               Select-CurrentTextAsCommand, Select-CurrentTextAsType,
                                               Select-CurrentTextAsVariable, Show-HelpForCurrentSelection, Show-Member,
                                               Show-SyntaxForCurrentCommand, Show-TypeConstructor,
                                               Show-TypeConstructorForCurrentType, Split-IseFile, Switch-CommentOrText,
                                               Switch-SelectedCommentOrText, Write-ColorizedHTML}

...簡潔にするために省略**

于 2012-07-19T09:09:37.087 に答える