none
задание паузы при выключении VM-машины RRS feed

  • Вопрос

  • доброго дня.

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

    invoke-vmshutdown apc_test  -Reason "External Shutdown (Powershell)" -server node01 -ShutdownTimeOut 120 -force

    пробовал и параметр Wait

    invoke-vmshutdown apc_test  -Reason "External Shutdown (Powershell)" -server node01 -Wait 120 -force

    безрезультатно - машина тушится сразу после выполнения скрипта

    что у меня неверно?

    20 апреля 2012 г. 13:30

Все ответы

  • Зачем изобретать велосипед? :)

    Использование: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
        [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c "комментарий"]]

        /?         Отображение справки. То же, что и без параметров.
        /i         Отображение графического интерфейса пользователя.
                   Этот параметр должен быть первым.
        /l         Завершение сеанса. Этот параметр нельзя использовать с
                   параметрами /m или /d.
        /s         Завершение работы компьютера.
        /r         Завершение работы и перезагрузка компьютера.
        /g         Завершение работы и перезагрузка компьютера. После перезапуска
                   системы, запуск всех зарегистрированных приложений.
        /a         Отмена завершения работы системы.
                   Этот параметр можно использовать только в период ожидания.
        /p         Немедленное отключение локального компьютера без предупреждения.
                   Можно использовать с параметрами /d и /f.
        /h         Переключение локального компьютера в режим гибернации.
                   Можно использовать с параметром /f.
        /e         Указание причины непредвиденного завершения работы компьютера.
        /m \\компьютер Указание конечного компьютера.
        /t xxx     Задание задержки в xxx секунд перед завершением работы
                   компьютера.
                   Допустимый диапазон: 0-315360000 (10 лет); значение по умолчанию: 30.
                   Если период таймаута больше 0, применяется
                   параметр /f.
        /c "комментарий" Комментарий с причиной перезапуска или завершения работы.
                   Наибольшая длина - 512 знаков.
        /f         Принудительное закрытие запущенных приложений без предупреждения пользователей.
                   Параметр /f используется, если для параметра /t
                   задано значение больше 0.
        /d [p|u:]xx:yy  Необходимо указать причину для перезагрузки или выключения.
                   "p" означает запланированную перезагрузку или завершение работы.
                   "u" означает, что причина определяется пользователем.
                   Если не задано ни "p", ни "u", перезагрузка или завершение работы
                   являются незапланированными.
                   xx является основным номером причины (целое положительное число, меньшее 256).
                   yy является вспомогательным номером причины (целое положительное число, меньшее 65536).

    20 апреля 2012 г. 15:33
  • Зачем изобретать велосипед? :)

    Использование: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
        [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c "комментарий"]]

       В данном случае применение команды shutdown, неприменимо.

    24 апреля 2012 г. 8:41
  • Что так вдруг? Стандартная же утилита....

    Можно и так сделать:

    $global:Win2kClass = Add-Type -Namespace NSadvapi32 -Name Utils   -MemberDefinition @"
    
       // http://msdn.microsoft.com/en-us/library/windows/desktop/aa376873(v=vs.85).aspx
    
       [DllImport("advapi32.dll", SetLastError = true)]
       public static extern bool InitiateSystemShutdown(string lpMachineName,  string lpMessage,  int dwTimeout,  bool bForceAppsClosed,  bool bRebootAfterShutdown);
    
    "@ -passthru
    

    Вызов:

    [NSadvapi32.Utils]::InitiateSystemShutdown(...)
    или
    $Win2kClass::InitiateSystemShutdown(...)


    Сазонов Илья http://isazonov.wordpress.com/


    25 апреля 2012 г. 7:07
    Модератор
  • оно же не сработает в случае когда ВМ изолированы от хоста. я не смогу подать shutdown по сети. поэтому я и пытаюсь использовать доступные средства hyper-v powershell для выключения .

    26 апреля 2012 г. 8:20
  • invoke-vmshutdown  это вы ставили дополнительный компонент? Если да, то в нем баг похоже. Могу перенести вопрос в раздел по Виртуализации.

    Сазонов Илья http://isazonov.wordpress.com/

    27 апреля 2012 г. 11:49
    Модератор