|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Командлет в качестве значения переменной |
|
PowerShell - [решено] Командлет в качестве значения переменной
|
Старожил Сообщения: 252 |
Профиль | Отправить PM | Цитировать Столкнулся с такой проблемой, например нужно получить список служб
Но вот использовать подстановочный знак не получается, Цитата:
Это в принципе невозможно или здесь я допустил ошибку в написании переменной ? Спасибо. |
||
Отправлено: 11:28, 21-05-2015 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Зачем ставить "" - кавычки?
$a=get-service a* &$a - Убрать. |
Отправлено: 11:31, 21-05-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:46, 21-05-2015 | #3 |
Старожил Сообщения: 252
|
Профиль | Отправить PM | Цитировать оба сообщения работают, немного разное отображение информации при выполнении, так что можно выбрать при написании скрипта, в зависимости от желания
clear write-host --------------- write-host "get-service a*" $a=get-service a* # Переменная $a выведет название команды write-host --------------- # Обратимся к переменной $a, чтобы она передала команде, которая является # значением этой переменной, - управление, и выдала результат $a # Командлет Invoke-Expression анализирует или выполняет указанную строку как команду и # возвращает результат выражения и команды. write-host --------------- clear write-host --------------- write-host "get-service a*" ####################### $a="get-service a*" # Переменная $a выведет название команды write-host --------------- # Обратимся к переменной $a, чтобы она передала команде, которая является # значением этой переменной, - управление, и выдала результат # Командлет Invoke-Expression анализирует или выполняет указанную строку как команду и # возвращает результат выражения и команды. Invoke-Expression $a write-host --------------- |
Отправлено: 13:03, 21-05-2015 | #4 |
Старожил Сообщения: 252
|
Профиль | Отправить PM | Цитировать clear write-host --------------- write-host "get-service a*" # $a={get-service a* | sort-object status} # заключаем выражение в фигурные скобки # передаем выходные данные переменной # Переменная $a выведет результат работы командлета на другой командлет # Таким образом, результат выполнения команды get-service a* будет осортирован по колонке status write-host --------------- # Обратимся к переменной $a, чтобы она передала команде, которая является # значением этой переменной, - управление, и выдала результат &$a # возвращает результат выражения и команды. write-host --------------- |
|
Отправлено: 13:53, 21-05-2015 | #5 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата maslinaV:
А зачем так сложно? Можно проще: $a=get-service a* | sort-object status write-host --------------- $a write-host --------------- Можно даже и переменную не вводить, если, конечно, она не будет задействована в дальнейшем. Или у Вас теоретическая разработка? |
|
Отправлено: 14:26, 21-05-2015 | #6 |
Старожил Сообщения: 252
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:15, 21-05-2015 | #7 |
Забанен Сообщения: 793
|
maslinaV, видимо Вы не совсем понимаете, что такое скрипт-блок и чем он отличается от строки. Запись:
означает, что переменной присваивается строка "get-service a*", а в случае
переменная $a становится "контейнером" для скрипт-блока; чтобы переменная хранила результат не нужно изобретать колесо заново, достаточно записи:
. Вам об этом уже говорили ранее. Ну и Get-Help Вам в помощь.
|
Последний раз редактировалось greg zakharov, 21-05-2015 в 16:06. Отправлено: 15:59, 21-05-2015 | #8 |
Старожил Сообщения: 252
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
Цитата:
да Цитата Georgio: Цитата:
Цитата greg zakharov: Цитата:
|
|||
Последний раз редактировалось maslinaV, 25-05-2015 в 13:16. Отправлено: 13:05, 25-05-2015 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Добавления значения к уже существующей системной переменной | termitt | Скриптовые языки администрирования Windows | 28 | 16-01-2015 05:42 | |
CMD/BAT - Присвоение значения переменной | starav | Скриптовые языки администрирования Windows | 1 | 30-05-2013 09:23 | |
MySQL - Хранение значения переменной в MySQL-базе | ManHack | Программирование и базы данных | 7 | 11-07-2009 10:02 | |
VBS/WHS/JS - Вывод значения переменной в сообщение | la_vanille_ciel | Программирование и базы данных | 3 | 09-04-2008 11:55 | |
php деление значения строковой переменной | Guest | Вебмастеру | 4 | 14-10-2004 17:12 |
|