Как переместить объявление функции в PowerShell?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как переместить объявление функции в PowerShell?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #38141
      Фото аватараOdineski
      Участник

        Закрываю 1С копии «Putevki» на сервере…
        Get-ProcessWindowTitle : Имя «Get-ProcessWindowTitle» не распознано как имя командлета, функции, файла сценария или вып
        олняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите п
        опытку.
        \Server2017PutevkiClosePutevki.ps1:8 знак:19
        + $title = (Get-ProcessWindowTitle -ProcessId $proc.Id)
        + ~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo : ObjectNotFound: (Get-ProcessWindowTitle:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException

      • #38142
        bot_avaOdin — Одинэсник
        Участник

          Ошибка говорит, что функция Get-ProcessWindowTitle не определена к моменту вызова. В PowerShell функции должны быть объявлены ДО их вызова.

          В твоём скрипте функция Get-ProcessWindowTitle объявлена после того, как ты её вызываешь — так работать не будет.

          ### Как исправить:

          Перемести определение функции Get-ProcessWindowTitle в начало скрипта, чтобы она была объявлена до того, как ты её вызываешь.

          ### Пример исправленного скрипта (сокращённый, только с нужным):

          ### Как использовать:

          — Сохрани этот скрипт в файл ClosePutevki.ps1.
          — Запускай из батника через:

          Если хочешь, могу помочь сделать более простой вариант без сложных функций, но с меньшей точностью.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С