Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» PowerShell

Автор: ROSSTYA
Дата сообщения: 19.11.2009 19:39
Ааа класс! То что надо, огромное сапасибо! ТОлько начал с powershell разбираться, а у самого уже голова квадратная от всего этого.
Автор: greenfox
Дата сообщения: 26.11.2009 15:22
Приветствую!
Какой аналог cmd-шной "ipconfig /all" есть покороче чем стандартный аля:

Код: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -
ComputerName . | Select-Object -Property IPAddress
Автор: 01MDM
Дата сообщения: 26.11.2009 17:00
greenfox
Такого аналога нет. На мой взгляд не так уж и длинно:

Код:
$net = gwmi win32_networkAdapterConfiguration
$net | % { $_.IPAddress }
Автор: greenfox
Дата сообщения: 26.11.2009 18:02
01MDM
не что бы не флеймить - - явно не коротко (всё что длинее чем было ранее уже напрягает) + ещё и по умолчанию надо извращаться с функциями и т.д. взамен стандартной команды, которую уже сами "пальцы набивают, а глаза не видят"© Что неужели для такой архиважной команды виндовой не могли командлет встроеный забацать!? Это даже проще по идее чем орать на сцене "Developers! Developers! ..." etc "Моя расстроен насальник"©
Автор: 01MDM
Дата сообщения: 26.11.2009 18:21
greenfox
Но ведь никто не запрещает использовать тот же ipconfig.exe Она одинаково стандартная, что для cmd.exe, что для powershell.exe.
Автор: greenfox
Дата сообщения: 26.11.2009 18:34
01MDM
это да Просто странно что с новым "мощным" средством не придумали реализации такой фичи
Автор: KapralBel
Дата сообщения: 27.11.2009 10:46

Цитата:
Какой аналог cmd-шной "ipconfig /all" есть покороче чем стандартный аля:

А алиаз лень сделать? и забить оный в конфигурационный файл?
Автор: greenfox
Дата сообщения: 27.11.2009 13:17
KapralBel
на всех пк? лень Но впринципе всё конечно решаемо, просто удивило что не добавили в дефолт "отче наш" так сказать
Автор: KapralBel
Дата сообщения: 27.11.2009 14:10
Ну конфигурационный файл можно логон-скриптом затянуть на комп
Автор: greenfox
Дата сообщения: 29.11.2009 16:16
KapralBel
да это понятно, но как вы знаете лень матушка всё перелнь - зачем париться раз с powershell -а можно запустить теже консольные команды ала ipconfig и т.д.? Пока так пусть будет, потом когда вопрос встрянет полезу на какой-н скриптинг сайт смотреть как что написать можно...

PS в шапку надо ещё занести PowerShell Plus - вариант консоли от стороннего разработчика, имхо удобная вещь с уже готовыми встроенными скриптами и т.д. В варезнике всё есть
Автор: greenfox
Дата сообщения: 30.11.2009 18:31
Никто не подскажет 2 команды

Код: PS> Get-Process | Get-Member
PS> Get-Member -InputObject Get-Process
Автор: Drunken_Master
Дата сообщения: 01.12.2009 09:36
greenfox
нет. Первая выведет members объекта процесса (TypeName: System.Diagnostics.Process), вторая — строки (System.String), потому что в этом случае "Get-Process" не выполняется. Сравните:


Код:
Get-Member -InputObject (Get-Process) # вернется массив
Get-Member -InputObject (Get-Process system) # а здесь и далее уже один объект
Get-Member -InputObject (Get-Process | Select -First 1)
Автор: greenfox
Дата сообщения: 01.12.2009 12:41
Drunken_Master
а команда:
Код: Get-Member -InputObject System.Diagnostics.Process
Автор: Drunken_Master
Дата сообщения: 02.12.2009 11:19
greenfox
Powershell оперирует объектами.

Код:
> Get-Member -InputObject System.Diagnostics.Process


TypeName: System.String

Name MemberType Definition
---- ---------- ----------
Clone Method System.Object Clone()
CompareTo Method int CompareTo(System.Object value), i...
Автор: greenfox
Дата сообщения: 02.12.2009 13:29
Drunken_Master

Цитата:
Powershell оперирует объектами
это я понял, просто мне казалось что объект можно передать по имени, нет?!? + я не совсем тогда допонял логику ps -а: если TypeName это строка текста, то почему это не просто сво-ва объекта (propety) ? + если у объекта есть имя - а это наск я понимаю именно TypeName (нет!?) то почему объектами нельзя оперировать по их имени?
PS а где можно подробней почитать про объектную модель PS? А то я помню из курса по ООП который ещё в делфях изучал, может что забыл уже и стоит опять вспоминать
Автор: 01MDM
Дата сообщения: 02.12.2009 15:24
greenfox

Цитата:
PS а где можно подробней почитать про объектную модель PS?

Для меня это тоже самый сложный вопрос. Я так понимаю, что нужно смотреть библиотеку классов для дотнет на msdn. Особенно затруднение вызывают строки навроде:

Код:
PS > [system.net.ipaddress]'127.0.0.1'

Address : 16777343
AddressFamily : InterNetwork
ScopeId :
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : False
IPAddressToString : 127.0.0.1

PS >
Автор: greenfox
Дата сообщения: 02.12.2009 15:38
Drunken_Master
почитал тут кое что, поправтте меня если я не прав. У каждого .Net объекта сущ-т afaik метод GetType которой по сути выводит структуру объекта (т.е. определяет её и отображет на экране в читаемом виде) и соот-но одно из полей этой структуры наз-ся FullName - это именно то что пишется в TypeName при анализе объекта уже самим get-member? Т.е. как таковой тип объекта хранится не напрямую в виде св-ва объекта в самом объекте, а получается из объекта путём использования соот-го метода (GetType), который по мимо FullName выводит ещё кучу информации... Так?
(Get-Process firefox).GetType().FullName
PS но всё равно почему тогда нельзя сразу на вход get-member подать название (fullname) типа объекта? Какая ему разница по какому принципу выводить структуру объекта если они типизированы - по структуре самого объекта или по имни его типа?

01MDM
PS > [system.net.ipaddress]'127.0.0.1' | get-member
?
По дотнету да - тут даже не сама библиотека классов интересна, а философия построения объектной модели и т.д. imho
Автор: 01MDM
Дата сообщения: 02.12.2009 16:09
greenfox
Нет, просто интересует откуда взять, если заранее не знаешь о существовании:

Цитата:
[system.net.ipaddress]

Я же не ясновидящий. Наверное можно как-то вывести все доступные классы и типы. Меня если честно, все это ставит в тупик. Очень жаль, что в документации, да и в литературе этому почти не уделяют внимание. Готовый cmdlet всегда можно "просканировать" на наличие свойств и методов, но он то сам известен. Неужели так сложно добавить минимальную справку по типам-классам? Я об этом net.ipaddress узнал только благодаря вопросу по `ipconfig /all' через гугл..
Автор: greenfox
Дата сообщения: 02.12.2009 16:30
01MDM
тут наверно да - только библиотеку доступ-х объектов\типов смотреть + примеры и т.д. Если вас интересуют готовые типовые решение нас-ко я понимаю некоторые командлеты можно загрузить с инета и встроить в ваш PS... Как рекомендацию могу вам посоветовать использовать другой шел для PS -> PowerShell Plus Там по мимо расширенного интерфейса, автозаполнений и т.д. уже есть доп-й набор командлетов для так сказать админа
всё имхо.
Автор: 01MDM
Дата сообщения: 02.12.2009 16:53
greenfox
Мне очень понравился http://powershell.com/cs/ , cоветы (PowerTips) и особенно книга, как в online, так и http://powershell.com/Mastering-PowerShell.pdf. Она на English, но лучше не встречал.


Цитата:
для так сказать админа

Я только локалхоста.

В качестве редактора можно использовать PowerGUI (бесплатный кстати).

Автор: Joo1z
Дата сообщения: 18.12.2009 13:11
За год ниразу не притрагивался к PS, и, как выяснилось, все забыл.
Нужен скрипт для удаления всех сетевых и локальных принтеров, а затем добавления новых. Можно ли скриптом тупо зайти в Shell:PrintersFolder и поубивать все что там найдется?

А нет, не получается... он пути не находит.
Автор: narayanrus
Дата сообщения: 23.01.2010 13:05
люди добрые, подскажите как заставить командную консоль exchange 2007 выводить не всю инфу сразу, а блоками и ждать нажатия, например, пробела
Только начинаю осваивать, читаю get-help по какой-нибудь команде, а всё тупо не помещается в консоле, приходится в файл сохранять и оттуда читать
неудобно
Автор: jeykey
Дата сообщения: 23.01.2010 16:22
По-моему, там можно вместо get-help написать man и будет постранично выводиться.
Автор: narayanrus
Дата сообщения: 23.01.2010 17:28
помогло, спасибо
Автор: morfius2010
Дата сообщения: 22.02.2010 10:01
Вот начал разбираться с повершелом. Раньше с программирвоанием дела не имел. В первую очередь хочу разобраться с WMI-объектами. Может можно где-то почитать про все объекты, и, что с помощью каждого объекта можно делать. Спасибо большое за подсказку)
Автор: jeykey
Дата сообщения: 22.02.2010 12:29
Почитать про WMI можно здесь . Вот здесь доступно и по-русски все расписано. Также можно скачать WMI Code Creator . В нем очень удобно смотреть описания свойств и методов объектов WMI. Как все это работает в powershell, можно почитать в этой книжке. На русском языке, по-моему, она единственная.
Автор: morfius2010
Дата сообщения: 22.02.2010 12:36
Спасибо большое. Книжку эту читал, но тут только написано как им пользоваться, но не расписано подробно. Спасибо за ссылки. Сейчас буду смотреть.
Автор: baribal
Дата сообщения: 05.03.2010 11:31
А командлетами отсюда http://www.nsoftware.com/powershell/ никто не поделится?
Автор: baribal
Дата сообщения: 09.03.2010 11:03
Кто-нибудь использовал коммандлет Add-Type в Powershell 2.0 для вызова WIN32 API функций?
Автор: Weinaum
Дата сообщения: 13.03.2010 12:13
Можно ли сделать так, чтобы PowerShell помнил команды и после закрытия, типа как терминал в линуксе?

Страницы: 123456789101112131415161718192021222324

Предыдущая тема: Не понятная проблема с видеокартой.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.