Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Выполнение команды с учётом вывода предыдущей в PowerShell. (http://forum.oszone.net/showthread.php?t=331480)

kor3590 27-11-2017 14:26 2780484

Выполнение команды с учётом вывода предыдущей в PowerShell.
 
Опрашиваю командой следующий объект gwmi win32_printer -Filter "Local='$true'" Чтобы узнать список локальных принтеров. Получаю вывод

Location :
Name : Microsoft XPS Document Writer
PrinterState : 0
PrinterStatus : 3
ShareName :
SystemName : KIOSK

Location :
Name : Fax
PrinterState : 0
PrinterStatus : 3
ShareName :
SystemName : KIOSK

Как выполнить следующую команду с условием,что если есть Microsoft XPS Document Writer в выводе предыдущей команды выполняется, а если нет то не выполняется. Это вообще реально? )

Kazun 27-11-2017 14:33 2780488

Код:

$xps = gwmi win32_printer -Filter "Local='$true' AND Name='Microsoft XPS Document Writer'"
if($xps) {
    "Command"
}


kor3590 27-11-2017 15:33 2780500

Вместо Command ввожу любую команду к примеру get-eventlog -newest 10 -logname system На выводе получаю просто get-eventlog -newest 10 -logname system)))

Kazun 27-11-2017 15:37 2780501

Имелось,ввиду, что "Command" заменить на свой список команд.


Код:

$xps = gwmi win32_printer -Filter "Local='$true' AND Name='Microsoft XPS Document Writer'"
if($xps) {
    get-eventlog -newest 10 -logname system
}


kor3590 27-11-2017 15:37 2780502

Т.е. он соблюдает условие,но команду в кавычках не исполняет а просто выводит то что я заключил в кавычки.(((

Всё получилось! Хочется выразить огромную благодарность тебе Kazun. В интернете огромное кол-во информации и легко запутаться. Надо читать техническую документацию на англ с переводчиком)

kor3590 27-11-2017 20:01 2780562

...


Время: 21:34.

Время: 21:34.
© OSzone.net 2001-