Доступ к компонентам .NET из Powershell
-
09-06-2019 - |
Вопрос
Я хочу использовать Powershell для написания некоторых утилит, используя наши собственные компоненты .NET для выполнения реальной работы.Это вместо написания небольшого консольного приложения для объединения вызовов.Мой вопрос: где я могу найти хороший источник документации или учебных материалов, которые помогут мне быстро это сделать?
Решение
Если вы хотите загрузить сборку в сеанс PowerShell, вы можете использовать отражение и загрузить сборку.
[void][System.Reflection.Assembly]::LoadFrom(PathToYourAssembly)
После загрузки сборки вы можете вызывать статические методы и создавать новые экземпляры класса.
Хороший учебник можно найти здесь.
Обе книги, упомянутые EBGreen, превосходны.Книга рецептов PowerShell очень ориентирована на выполнение задач, а PowerShell в действии представляет собой отличное описание языка, его направленности и удобства использования.PowerShell в действии — одна из моих любимых книг.:)
Другие советы
Ссылка, которую разместил Стивен, является хорошим примером.Я не знаю ни одного обширного учебника.Оба Поваренная книга Windows Powershell и Windows Powershell в действии есть хорошие главы по этой теме.Кроме того, обратите внимание на метод ::LoadFromFile класса System.Reflection.Assembly на случай, если ваши собственные сборки не загружаются в GAC.
вы можете использовать []
или используйте add-type -AssemblyName "System.example"
чтобы использовать сборку, например, используйте:
[system.drawing]::class ...