Ааа класс! То что надо, огромное сапасибо! ТОлько начал с powershell разбираться, а у самого уже голова квадратная от всего этого.
» PowerShell
Приветствую!
Какой аналог cmd-шной "ipconfig /all" есть покороче чем стандартный аля:
Код: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -
ComputerName . | Select-Object -Property IPAddress
Какой аналог cmd-шной "ipconfig /all" есть покороче чем стандартный аля:
Код: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -
ComputerName . | Select-Object -Property IPAddress
greenfox
Такого аналога нет. На мой взгляд не так уж и длинно:
Код:
$net = gwmi win32_networkAdapterConfiguration
$net | % { $_.IPAddress }
Такого аналога нет. На мой взгляд не так уж и длинно:
Код:
$net = gwmi win32_networkAdapterConfiguration
$net | % { $_.IPAddress }
01MDM
не что бы не флеймить - - явно не коротко (всё что длинее чем было ранее уже напрягает) + ещё и по умолчанию надо извращаться с функциями и т.д. взамен стандартной команды, которую уже сами "пальцы набивают, а глаза не видят"© Что неужели для такой архиважной команды виндовой не могли командлет встроеный забацать!? Это даже проще по идее чем орать на сцене "Developers! Developers! ..." etc "Моя расстроен насальник"©
не что бы не флеймить - - явно не коротко (всё что длинее чем было ранее уже напрягает) + ещё и по умолчанию надо извращаться с функциями и т.д. взамен стандартной команды, которую уже сами "пальцы набивают, а глаза не видят"© Что неужели для такой архиважной команды виндовой не могли командлет встроеный забацать!? Это даже проще по идее чем орать на сцене "Developers! Developers! ..." etc "Моя расстроен насальник"©
greenfox
Но ведь никто не запрещает использовать тот же ipconfig.exe Она одинаково стандартная, что для cmd.exe, что для powershell.exe.
Но ведь никто не запрещает использовать тот же ipconfig.exe Она одинаково стандартная, что для cmd.exe, что для powershell.exe.
01MDM
это да Просто странно что с новым "мощным" средством не придумали реализации такой фичи
это да Просто странно что с новым "мощным" средством не придумали реализации такой фичи
Цитата:
Какой аналог cmd-шной "ipconfig /all" есть покороче чем стандартный аля:
А алиаз лень сделать? и забить оный в конфигурационный файл?
KapralBel
на всех пк? лень Но впринципе всё конечно решаемо, просто удивило что не добавили в дефолт "отче наш" так сказать
на всех пк? лень Но впринципе всё конечно решаемо, просто удивило что не добавили в дефолт "отче наш" так сказать
Ну конфигурационный файл можно логон-скриптом затянуть на комп
KapralBel
да это понятно, но как вы знаете лень матушка всё перелнь - зачем париться раз с powershell -а можно запустить теже консольные команды ала ipconfig и т.д.? Пока так пусть будет, потом когда вопрос встрянет полезу на какой-н скриптинг сайт смотреть как что написать можно...
PS в шапку надо ещё занести PowerShell Plus - вариант консоли от стороннего разработчика, имхо удобная вещь с уже готовыми встроенными скриптами и т.д. В варезнике всё есть
да это понятно, но как вы знаете лень матушка всё перелнь - зачем париться раз с powershell -а можно запустить теже консольные команды ала ipconfig и т.д.? Пока так пусть будет, потом когда вопрос встрянет полезу на какой-н скриптинг сайт смотреть как что написать можно...
PS в шапку надо ещё занести PowerShell Plus - вариант консоли от стороннего разработчика, имхо удобная вещь с уже готовыми встроенными скриптами и т.д. В варезнике всё есть
Никто не подскажет 2 команды
Код: PS> Get-Process | Get-Member
PS> Get-Member -InputObject Get-Process
Код: PS> Get-Process | Get-Member
PS> Get-Member -InputObject Get-Process
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)
нет. Первая выведет 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)
Drunken_Master
а команда:
Код: Get-Member -InputObject System.Diagnostics.Process
а команда:
Код: Get-Member -InputObject System.Diagnostics.Process
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...
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...
Drunken_Master
Цитата:
PS а где можно подробней почитать про объектную модель PS? А то я помню из курса по ООП который ещё в делфях изучал, может что забыл уже и стоит опять вспоминать
Цитата:
Powershell оперирует объектамиэто я понял, просто мне казалось что объект можно передать по имени, нет?!? + я не совсем тогда допонял логику ps -а: если TypeName это строка текста, то почему это не просто сво-ва объекта (propety) ? + если у объекта есть имя - а это наск я понимаю именно TypeName (нет!?) то почему объектами нельзя оперировать по их имени?
PS а где можно подробней почитать про объектную модель PS? А то я помню из курса по ООП который ещё в делфях изучал, может что забыл уже и стоит опять вспоминать
greenfox
Цитата:
Для меня это тоже самый сложный вопрос. Я так понимаю, что нужно смотреть библиотеку классов для дотнет на 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 >
Цитата:
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 >
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
почитал тут кое что, поправтте меня если я не прав. У каждого .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
greenfox
Нет, просто интересует откуда взять, если заранее не знаешь о существовании:
Цитата:
Я же не ясновидящий. Наверное можно как-то вывести все доступные классы и типы. Меня если честно, все это ставит в тупик. Очень жаль, что в документации, да и в литературе этому почти не уделяют внимание. Готовый cmdlet всегда можно "просканировать" на наличие свойств и методов, но он то сам известен. Неужели так сложно добавить минимальную справку по типам-классам? Я об этом net.ipaddress узнал только благодаря вопросу по `ipconfig /all' через гугл..
Нет, просто интересует откуда взять, если заранее не знаешь о существовании:
Цитата:
[system.net.ipaddress]
Я же не ясновидящий. Наверное можно как-то вывести все доступные классы и типы. Меня если честно, все это ставит в тупик. Очень жаль, что в документации, да и в литературе этому почти не уделяют внимание. Готовый cmdlet всегда можно "просканировать" на наличие свойств и методов, но он то сам известен. Неужели так сложно добавить минимальную справку по типам-классам? Я об этом net.ipaddress узнал только благодаря вопросу по `ipconfig /all' через гугл..
01MDM
тут наверно да - только библиотеку доступ-х объектов\типов смотреть + примеры и т.д. Если вас интересуют готовые типовые решение нас-ко я понимаю некоторые командлеты можно загрузить с инета и встроить в ваш PS... Как рекомендацию могу вам посоветовать использовать другой шел для PS -> PowerShell Plus Там по мимо расширенного интерфейса, автозаполнений и т.д. уже есть доп-й набор командлетов для так сказать админа
всё имхо.
тут наверно да - только библиотеку доступ-х объектов\типов смотреть + примеры и т.д. Если вас интересуют готовые типовые решение нас-ко я понимаю некоторые командлеты можно загрузить с инета и встроить в ваш PS... Как рекомендацию могу вам посоветовать использовать другой шел для PS -> PowerShell Plus Там по мимо расширенного интерфейса, автозаполнений и т.д. уже есть доп-й набор командлетов для так сказать админа
всё имхо.
greenfox
Мне очень понравился http://powershell.com/cs/ , cоветы (PowerTips) и особенно книга, как в online, так и http://powershell.com/Mastering-PowerShell.pdf. Она на English, но лучше не встречал.
Цитата:
Я только локалхоста.
В качестве редактора можно использовать PowerGUI (бесплатный кстати).
Мне очень понравился http://powershell.com/cs/ , cоветы (PowerTips) и особенно книга, как в online, так и http://powershell.com/Mastering-PowerShell.pdf. Она на English, но лучше не встречал.
Цитата:
для так сказать админа
Я только локалхоста.
В качестве редактора можно использовать PowerGUI (бесплатный кстати).
За год ниразу не притрагивался к PS, и, как выяснилось, все забыл.
Нужен скрипт для удаления всех сетевых и локальных принтеров, а затем добавления новых. Можно ли скриптом тупо зайти в Shell:PrintersFolder и поубивать все что там найдется?
А нет, не получается... он пути не находит.
Нужен скрипт для удаления всех сетевых и локальных принтеров, а затем добавления новых. Можно ли скриптом тупо зайти в Shell:PrintersFolder и поубивать все что там найдется?
А нет, не получается... он пути не находит.
люди добрые, подскажите как заставить командную консоль exchange 2007 выводить не всю инфу сразу, а блоками и ждать нажатия, например, пробела
Только начинаю осваивать, читаю get-help по какой-нибудь команде, а всё тупо не помещается в консоле, приходится в файл сохранять и оттуда читать
неудобно
Только начинаю осваивать, читаю get-help по какой-нибудь команде, а всё тупо не помещается в консоле, приходится в файл сохранять и оттуда читать
неудобно
По-моему, там можно вместо get-help написать man и будет постранично выводиться.
помогло, спасибо
Вот начал разбираться с повершелом. Раньше с программирвоанием дела не имел. В первую очередь хочу разобраться с WMI-объектами. Может можно где-то почитать про все объекты, и, что с помощью каждого объекта можно делать. Спасибо большое за подсказку)
Почитать про WMI можно здесь . Вот здесь доступно и по-русски все расписано. Также можно скачать WMI Code Creator . В нем очень удобно смотреть описания свойств и методов объектов WMI. Как все это работает в powershell, можно почитать в этой книжке. На русском языке, по-моему, она единственная.
Спасибо большое. Книжку эту читал, но тут только написано как им пользоваться, но не расписано подробно. Спасибо за ссылки. Сейчас буду смотреть.
А командлетами отсюда http://www.nsoftware.com/powershell/ никто не поделится?
Кто-нибудь использовал коммандлет Add-Type в Powershell 2.0 для вызова WIN32 API функций?
Можно ли сделать так, чтобы PowerShell помнил команды и после закрытия, типа как терминал в линуксе?
Страницы: 123456789101112131415161718192021222324
Предыдущая тема: Не понятная проблема с видеокартой.
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.