2015-09-07 3 views
1

Я написал эту основную функцию Powershell, которая возвращает текущую дату UTC и время:функция Basic PowerShell не работает

Function UtcFileDate() { 
    [System.DateTime]::UtcNow.ToString("yyyy-MM-ddTHH-mm-ss") 
} 

Но когда я запускаю его переводчик говорит:

Термин не распознается как имя командлета, функции, файла сценария или исполняемой программы.

Что мне здесь не хватает? Что я делаю - поместите эту функцию в отдельный файл helpers.ps1, откройте консоль PowerShell, импортируйте файл через .\helpers.ps1, затем назовите его как $x = UtcFileDate. То же самое и на Windows 7, и на Win Server 2008.

ответ

5

Когда вы запускаете .\helpers.ps1, вы выполняете скрипт, но ваша функция не будет доступна из вашего сеанса, следовательно, ошибка. Вы должны расставить все точки источника сценария (смотрите раздел SCRIPT SCOPE AND DOT SOURCING из about_Scripts), чтобы сделать его функцию, переменным и т.д., доступной для бега сессии:

. .\helpers.ps1 
$x = UtcFileDate 
+0

это все. благодаря! – chester89

Смежные вопросы