iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Death_INN Чтобы модуль загружался автоматически, надо его поместить по пути указанной в переменной PSModulePath. Поскольку функция требует повышенных прав, то PowerShell запускаем от админа и вводим: $env:PSModulePath.split(';') Находим строку с папкой админа Documents\WindowsPowerShell\Modules, создаём папку с именем как у модуля, т.е. BootTimeStatistics\BootTimeStatistics.psm1 (такое имя лучше для файла модуля). Получается, что то типа: C:\Users\<Admin>\Documents\WindowsPowerShell\Modules\BootTimeStatistics\BootTimeStatistics.psm1 Перезапуск PowerShell от админа и можно вызывать нашу функцию из модуля: "Время загрузки: $((Get-BootTimeStatistics -counts 1).BootTime / 1000) секунд" С другими модулями (не требующих повышенных прав) поступаем так же, только уже не в папку админа, а в свою. Если сидите под админом, то это одна и та же учетка/папка. Я так складываю небольшие функции в один файл/модуль Helpers\Helpers.psm1 Как то так Добавлено: В модуле может быть не одна функция. Можно добавить код, используемый в качестве примера, в модуль в виде функции: Код: function Get-BootTimeAverage { param ( # Количество последних загрузок системы, не менее: 1, по умолчанию: 5 [ValidateRange(1, [int16]::MaxValue)][int]$counts = 10 ) Get-BootTimeStatistics -counts $counts | Measure-Object -Property BootTime -Average | Select-Object @{n = "Загрузок"; e = {$_.Count}}, @{n = "Среднее время"; e = {"{0} секунд" -f [int]($_.Average / 1000)}} } | И запускать уже не только Get-BootTimeStatistics, но и Get-BootTimeAverage Без всяких импортов |