Предположим, вы системный администратор, который использует PowerShell для управления множеством вещей в своей системе.
Вероятно, вы написали множество функций, которые делают то, что вам регулярно нужно проверять. Однако, если вам нужно много перемещаться, используйте разные машины и т.д., Вам придется снова и снова вводить все свои функции, чтобы использовать их. Я даже должен делать это каждый раз, когда я выхожу и перезапускаю PowerShell по какой-то причине, так как он не будет помнить о функциях...
Я написал функцию, которая делает это для меня. Я размещаю его здесь, потому что я хочу быть уверенным в его надежности. Сама функция хранится в allFunctions.ps1
, поэтому я исключаю ее в код.
Основная идея заключается в том, что у вас есть одна папка, в которой хранятся все ваши файлы ps1, каждая из которых включает в себя функцию. В PowerShell вы переходите в этот каталог, а затем вводите:
. .\allFunctions.ps1
Содержимое этого script таково:
[string]$items = Get-ChildItem -Path . -Exclude allFunctions.ps1
$itemlist = $items.split(" ")
foreach($item in $itemlist)
{
. $item
}
Этот script будет сначала собирать каждый файл в вашем каталоге, то есть все файлы, отличные от ps1, которые у вас могут быть там. allFunctions.ps1 будет исключен.
Затем я разделяю длинную строку на основе пространства, которое здесь является общим разделителем. И затем я просматриваю его с помощью цикла Foreach, каждый раз инициализируя функцию в PowerShell.
Предположим, что у вас более 100 функций, и вы никогда не знаете, какие из них вам понадобятся, а какие нет? Почему бы им не вводить их вместо того, чтобы делать nitpicking?
Так что мне интересно, что здесь может пойти не так? Я хочу, чтобы это было действительно безопасно, так как я, вероятно, буду использовать его много.