Можно ли найти файлы, относящиеся к конкретным командам или файлам конфигурации? Например, я хочу узнать все подробности того, что происходит, когда я набираю команду, такую как add-appxPackage? Я знаю, что для этого требуется, но я хочу знать, что за этим стоит
1 ответ
Для скомпилированных командлетов вы можете получить путь к .dll
с помощью:
(Get-Command Get-ChildItem).DLL
(Замените Get-ChildItem
на интересующий вас командлет)
Как только вы узнаете путь к .dll
, вы можете открыть его с помощью дизассемблера .NET, например dotPeek:
& dotPeek64.exe (Get-Command Get-ChildItem).DLL
Источник вышеуказанного ответа (StackOverflow)
Пример:
Запуск (get-command add-appxPackage).dll
в моей системе возвращает:
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Windows.Appx.PackageManager.Commands\v4.0_6.3.0.0__31bf3856ad364e35\Microsoft.Windows.Appx.PackageManager.Commands.dll
Для получения дополнительной информации проверьте все вопросы и ответы по StackOverflow:
Можем ли мы увидеть исходный код для командлетов PowerShell?