Как найти модуль для данного командлета?

Как определить модуль для данного командлета для прямого вызова функции, которая переопределяет командлет.

Например, как мне узнать, что Start-Transcript живет в Microsoft.Powershell.Host?

get-module Start-Transcript

ничего не дает

Обновление для ответа ниже. Это результат:

PS C:\Windows> get-command -type cmdlet start-transcript | fl *


HelpUri             : http://go.microsoft.com/fwlink/?LinkID=113408
DLL                 : C:\Windows\assembly\GAC_MSIL\Microsoft.PowerShell.ConsoleHost\1.0.0.0__31bf3856ad364e35\Microsoft
                      .PowerShell.ConsoleHost.dll
Verb                : Start
Noun                : Transcript
HelpFile            : Microsoft.PowerShell.ConsoleHost.dll-Help.xml
PSSnapIn            : Microsoft.PowerShell.Host
ImplementingType    : Microsoft.PowerShell.Commands.StartTranscriptCommand
Definition          : Start-Transcript [[-Path] <String>] [-Append] [-Force] [-NoClobber] [-Verbose] [-Debug] [-ErrorAc
                      tion <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningV
                      ariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]

DefaultParameterSet :
OutputType          : {}
Name                : Start-Transcript
CommandType         : Cmdlet
Visibility          : Public
ModuleName          : Microsoft.PowerShell.Host <------------ HERE IT IS
Module              :
Parameters          : {[Path, System.Management.Automation.ParameterMetadata], [Append, System.Management.Automation.Pa
                      rameterMetadata], [Force, System.Management.Automation.ParameterMetadata], [NoClobber, System.Man
                      agement.Automation.ParameterMetadata]...}
ParameterSets       : {[[-Path] <String>] [-Append] [-Force] [-NoClobber] [-Verbose] [-Debug] [-ErrorAction <ActionPref
                      erence>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>
                      ] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]}

Ответы

Ответ 1

Использование

get-command start-transcript | fl *

чтобы найти информацию о команде.

Ответ 2

В PowerShell есть несколько вариантов. Чтобы сузить результат до конкретной информации, которую вы ищете, можно использовать один из следующих подходов:

(Get-Command -Name Start-Transcript).ModuleName

или

Get-Command -Name Start-Transcript | Select-Object -Property ModuleName

или

Get-Command -Name Start-Transcript | Format-List -Property ModuleName

Примечание:

Обычно считается хорошей практикой использовать полное имя команд, созданное псевдонимами (например, fl, ft, select и т.д.) всякий раз, когда вы используете его в PowerShell script или разрабатываете собственный модуль PowerShell. Это повышает читаемость кода.