Як ви запускаєте вбудовані сценарії PowerShell всередині своїх сценаріїв?
Як ви використовуєте вбудовані сценарії на кшталт
Get-Location
pwd
ls
dir
split-path
::etc...
Вони управляються вашим комп'ютером, автоматично перевіряючи шлях сценарію.
Так само я можу запускати свої власні сценарії, просто вводячи ім'я сценарію в скрипт-блок
::sid.ps1 is a PS script I made to find the SID of any user
::it takes one argument, that argument would be the username
echo $(sid.ps1 jowers)
(returns something like)> S-X-X-XXXXXXXX-XXXXXXXXXX-XXX-XXXX
$(sid.ps1 jowers).Replace("S","X")
(returns same as above but with X instead of S)
Перейдіть до командного рядка powershell та введіть
> $profile
Це поверне шлях до файлу, який наш командний рядок PowerShell виконуватиме щоразу, коли ви відкриваєте додаток.
Це буде виглядати приблизно так
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
Перейдіть до "Документи" і перевірте, чи вже у вас є каталог WindowsPowerShell. Я цього не зробив
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
Зараз ми створили сценарій, який запускатиметься кожного разу, коли ми відкриваємо додаток PowerShell.
Причиною цього ми стали те, що ми могли додати власну папку, яка містить усі наші власні сценарії. Створимо цю папку, і я назву її "Bin" після каталогів, у яких Mac / Linux містить свої сценарії.
> mkdir \Users\jowers\Bin
Тепер ми хочемо, щоб цей каталог був доданий до нашої $env:path
змінної щоразу, коли ми відкриваємо додаток, тому повертаємося до WindowsPowerShell
Каталогу та
> start Microsoft.PowerShellISE_profile.ps1
Потім додайте це
$env:path += ";\Users\jowers\Bin"
Тепер оболонка автоматично знайде ваші команди, доки ви збережете свої сценарії в тій папці "Бін".
Відновіть панель повноважень, і це має бути одним із перших сценаріїв, які виконують.
Запустіть це в командному рядку після перезавантаження, щоб побачити новий каталог у змінній шляху:
> $env:Path
Тепер ми можемо викликати наші сценарії з командного рядка або з іншого сценарію так просто:
$(customScript.ps1 arg1 arg2 ...)
Як бачите, ми повинні зателефонувати їм із .ps1
розширенням, поки ми не зробимо для них псевдоніми. Якщо ми хочемо пофантазувати.