Import-IseSnippet
Импортирует фрагменты кода интегрированной среды сценариев в текущий сеанс.
Синтаксис
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
Import-IseSnippet
[-Recurse]
-Module <String>
[-ListAvailable]
[<CommonParameters>]
Описание
Командлет Import-IseSnippet
импортирует повторно используемый текст "фрагменты" из модуля или каталога в текущий сеанс. Фрагменты кода сразу же доступны для использования в среде сценариев Windows PowerShell. Этот командлет работает только в интегрированной среде сценариев Windows PowerShell (ISE).
Чтобы просмотреть и использовать импортированные фрагменты кода, в меню редактирования сценариев Windows PowerShell нажмите кнопку "Пуск фрагментов" или нажмите клавиши CTRL+J.
Импортированные фрагменты кода доступны только в текущем сеансе. Чтобы импортировать фрагменты кода во все сеансы сценариев сценариев Windows PowerShell, добавьте Import-IseSnippet
команду в профиль Windows PowerShell или скопируйте файлы фрагментов кода в локальный каталог $HOME\Documents\WindowsPowershell\Snippets
фрагментов кода.
Чтобы импортировать фрагменты кода, они должны быть правильно отформатированы в xml-коде фрагментов кода для сценариев Windows PowerShell и сохранены в файлах Snippet.ps1xml. Чтобы создать подходящие фрагменты кода, используйте New-IseSnippet
командлет. New-IseSnippet
<SnippetTitle>.Snippets.ps1xml
создает файл в каталоге$HOME\Documents\WindowsPowerShell\Snippets
. Можно переместить или скопировать фрагменты кода в каталог Snippets модуля Windows PowerShell или в любой другой каталог.
Командлет Get-IseSnippet
, который получает созданные пользователем фрагменты в локальном каталоге фрагментов фрагментов, не получает импортированные фрагменты.
Этот командлет впервые появился в Windows PowerShell 3.0.
Примеры
Пример 1. Импорт фрагментов из каталога
В этом примере фрагменты кода импортируются из \\Server01\Public\Snippets
каталога в текущий сеанс. Он использует параметр Recurse для получения фрагментов из всех подкаталогов каталога фрагментов.
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
Пример 2. Импорт фрагментов кода из модуля
В этом примере импортируются фрагменты кода из модуля SnippetModule . Команда использует параметр ListAvailable для импорта фрагментов, даже если модуль SnippetModule не импортируется в сеанс пользователя при выполнении команды.
Import-IseSnippet -Module SnippetModule -ListAvailable
Пример 3. Поиск фрагментов в модулях
Этот пример получает фрагменты во всех установленных модулях в переменной среды PSModulePath .
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$_.fullname}
Пример 4. Импорт всех фрагментов модулей
В этом примере импортируются все фрагменты из всех установленных модулей в текущий сеанс. Как правило, вам не нужно выполнять команду, так как модули с фрагментами кода будут использовать Import-IseSnippet
командлет для их импорта при импорте модуля.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)}
Пример 5. Копирование всех фрагментов модуля
В этом примере копируются файлы фрагментов из всех установленных модулей в Snippets
каталог текущего пользователя. В отличие от импортированных фрагменты кода, влияющие только на текущий сеанс, скопированные фрагменты доступны в каждом сеансе интегрированной среды сценариев Windows PowerShell.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets
Параметры
-ListAvailable
Указывает, что этот командлет получает фрагменты из модулей, установленных на компьютере, даже если модули не импортируются в текущий сеанс. Если этот параметр опущен, и модуль, указанный параметром модуля , не импортируется в текущий сеанс, попытка получить фрагменты из модуля завершается ошибкой.
Этот параметр действителен только в том случае, если параметр module используется в команде.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Module
Импортирует фрагменты кода из указанного модуля в текущий сеанс. Подстановочные знаки не поддерживаются.
Этот параметр импортирует фрагменты из Snippet.ps1xml
файлов в подкаталоге Snippets в пути модуля, например $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets
.
Этот параметр предназначен для использования авторами модулей в скрипте запуска, например скриптом, указанным в ключе ScriptsToProcess манифеста модуля. Фрагменты фрагментов в модуле не импортируются автоматически с помощью модуля, но можно использовать Import-IseSnippet
команду для их импорта.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Path
Указывает путь к каталогу фрагментов, в котором этот командлет импортирует фрагменты кода.
Тип: | String |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-Recurse
Указывает, что этот командлет импортирует фрагменты из всех подкаталогов значения параметра Path .
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
Невозможно использовать
Get-IseSnippet
командлет для получения импортированных фрагментов кода.Get-IseSnippet
возвращает только фрагменты кода в каталоге$HOME\Documents\WindowsPowerShell\Snippets
.Import-IseSnippet
использует статический метод Load объектов Microsoft.PowerShell.Host.ISE.ISE.ISESnippetCollection . Вы также можете использовать метод Load фрагментов фрагментов в объектной модели сценариев Windows PowerShell:$psISE.CurrentPowerShellTab.Snippets.Load()
Командлет
New-IseSnippet
сохраняет новые созданные пользователем фрагменты кода в неподписанных файлах PS1xml. Таким образом, Windows PowerShell не может загрузить их в сеанс, в котором политика выполнения имеет значение AllSigned или Restricted. В сеансе Restricted или AllSigned можно создавать, получать и импортировать созданные пользователем фрагменты, но их нельзя использовать в сеансе.Чтобы использовать без знака созданные пользователем фрагменты кода, возвращаемые
Import-IseSnippet
командлетом, измените политику выполнения и перезапустите среду сценариев Windows PowerShell.Дополнительные сведения о политиках выполнения Windows PowerShell см. в about_Execution_Policies.
Связанные ссылки
PowerShell