Category Софт

В большинстве случаев проще всего назначить новый объект переменной, которую в дальнейшем можно использовать для доступа к элементам объекта.

 весь

Чтобы создать объект на основе класса .NET, нужно задать команду New-Object, а затем указать параметр -TypeName и имя класса. В большинстве случаев проще всего назначить новый объект переменной, которую в дальнейшем можно использовать для доступа к элементам объекта. В следующем примере мы создаем объект на основе .NET-класса System. Net. Networklnformation. Ping и назначаем его переменной Sping: $ping = New-Object -TypeName Net.Networklnformation.Ping Обратите внимание, что при создании объекта вам не нужно определять System. PowerShell знает, где искать класс. Это все, что нам необходимо для создания объекта. Вы можете получить доступ к элементам объекта с помощью переменной Sping. В этом случае для просмотра элементов объекта вам нужно передать по конвейеру содержимое переменной команде Get-Membcr:

$ping I Get-Member На экране 5 видно, что результаты показывают элементы объекта, возвращаемого командой Get-Membcr. Как вы и ожидаете, объект основан на классе System.Net. Networklnformation.Ping. Обратите внимание, что класс поддерживает ряд методов, один из которых — Send. Давайте подробнее рассмотрим метод с использованием команды Get-Membcr для возвращения более подробной информации:

$ping I Get-Member -Name Send I Format-List

Это означает, что вы применяете команду Get-Member с параметром -Name, а затем метод Send. После этого вы направляете по конвейеру информацию, полученную от Get-Membcr, команде Format-List, которая возвращает результаты, показанные на экране 6.

Read More

Но для начала просмотрите список доступных методов

 список
 
Тем не менее это не мешает использовать методы переменной, чтобы предпринимать действия в отношении службы. Но для начала просмотрите список доступных методов. Для этого направьте по конвейеру содержимое переменной $ssis команде Get-Member, указав в качестве типа элемента Method: $ssis I Get-Member -MemberType Method Как и следует ожидать, команда возвращает список методов, связанных с объектом ServiceController, в этом случае объект создан для службы MsDtsServerl 10. Затем вы можете задействовать переменную Sssis для вызова любого из этих методов. Например, следующая команда запускает работу службы MsDtsServerl 10: Sssis.Start

Обратите внимание, что, вызывая метод, вы должны добавить скобки в конце, даже если не передаете методу параметры. Если служба уже запущена, ее легко можно остановить:

Sssis.Stop ()

Read More

Как и две другие команды, эта команда возвращает значение Stopped.

Как и две другие команды, эта команда возвращает значение Stopped.

Как мы видим, определена переменная $ssis, и результат Get-Service присваивается в качестве значения. В этом случае не нужно заключать команду Get-Service в скобки. Свойства не вызываются, поэтому нет никакой путаницы в том, что именно присваивается переменной. Работа команды заключается в создании объекта ServiceController, и этот объект становится значением переменной. Затем вы можете использовать переменную $ssis, чтобы указать на свойство Status объекта ServiceController, добавив точку и имя свойства. Как и две другие команды, эта команда возвращает значение Stopped.

Read More

Зная имена свойств, поддерживаемых объектом ServiceController, можно без труда найти нужную информацию.

Зная имена свойств, поддерживаемых объектом ServiceController, можно без труда найти нужную информацию.
 
Чтобы результаты читались лучше, вы можете выполнить следующее действие:

Get-Service I Where-Object {$_.Status -eq "Running"’

-and $_.ServiceType -eq "Win32 OwnProcess"} I Format-Table -Autosize Даже если исходный пример уже вывел информацию в виде таблицы, команда Format-Table позволяет включить параметр -Autosize.

Теперь давайте рассмотрим другие возможности для просмотра элементов объекта. Начнем с возвращения информации о конкретной службе, MsDtsServerl 10, которая используется для запуска SQL Server Integration Services (SSIS). Для получения информации применяйте параметр -Name команды Get-Service, чтобы указать имя службы:

Get-Service -Name MsDtsServer1101 Format-List

Передавая по конвейеру результаты команды Get-Service команде Format-List, вы увидите значения свойств, связанные с данным объектом ServiceController, как показано на экране.

PowerShell также позволяет получить доступ к значениям указанных свойств внутри объекта. Для примера предположим, что вам нужно только узнать значение свойства Status, связанного со службой MsDtsServerl 10. Сделать это можно, вызвав команду Format-Wide с указанием параметра -Property: Get-Service -Name MsDtsServer110 I Format-Wide -Property Status В этом случае команда возвращает только значение Stopped, связанное со свойством Status службы. Кроме того, вы можете получить доступ к объекту ServiceController и его свойству напрямую:

Read More

Get-Member возвращает информацию о каждом из типов

 информация
 
Однако, если команда возвращает более одного типа объектов, Get-Member возвращает информацию о каждом из типов. Например, если вы запускаете команду Get-ChildItem для просмотра папки, содержащей как файлы, так и другие папки, Get-Member будет возвращать информацию о классе System. lO.Directorylnfo и классе System. 10.Filelnfo. Вместе с тем, если папка содержит лишь файлы, Get-Member возвращает информацию только о System.10.Filelnfo. Таким образом, работая с Get-Member, вы должны убедиться, что просматриваете нужные типы объектов. Команда Get-Member также позволяет увидеть список типов, таких как свойства и методы. Для этого необходимо включить параметр -MemberType, а затем указать имя типа. Например, следующая команда указывает, что возвращаются только свойства объекта: Get-Service I Get-Member -MemberType Property Возможность получить подробную информацию об элементе объекта, будь то все элементы или определенный тип элемента, облегчает доступ к указанной информации внутри данного объекта. Например, теперь вы знаете, что класс ServiceController поддерживает свойства Status и ServiceType. Используйте эту информацию внутри команды, чтобы уточнить свои операции.
Read More

Обратите внимание, что результаты, возвращаемые командой Get-Member

Обратите внимание, что результаты, возвращаемые командой Get-Member, начинаются с указания имен типа класса, на которых основан объект — в данном случае System.ServiceProcess.

Обратите внимание, что результаты, возвращаемые командой Get-Member

ServiceController. Наличие данной информации может оказаться полезным, если вы знакомы с классами .NET и хотите еще лучше освоить выполняемые операции. Еще один плюс заключается в том, что вы будете точно знать, что работаете с нужным типом объекта. Здесь мы подходим к еще одному аспекту информации, возвращаемой командой Get-Member. Как вы уже заметили, результаты включают информацию лишь об одном объекте, хотя команда Get-Service возвращает объект для каждой службы.

Read More

В PowerShell предусмотрена команда Get-Member

В PowerShell предусмотрена команда Get-Member
 
Вам не обязательно досконально знать каждое свойство, метод или другой тип элемента, связанный с объектом. В PowerShell предусмотрена команда Get-Member — удобный инструмент для доступа к информации о каждом из элементов, поддерживаемых объектом. Данная команда будет полезна для получения информации обо всех элементах или определенных типах элементов. Для получения информации обо всех элементах прежде всего необходимо указать команду, о которой вы хотите узнать и затем воспользоваться командой Get-Member. Разделите две команды вертикальной чертой (символ конвейера команд), как показано ниже:

Get-Service I Get-Member

Read More

Работа с объектами PowerShell

Работа с объектами PowerShell
 
Как работать с объектами PowerShell, лучше всего рассмотреть на примере. Одна из команд, которую предоставляет PowerShell, Get-Service, возвращает список служб, установленных на компьютере. Команда, указанная без определенных параметров, выдаст информацию о службах на локальном компьютере.

Каждая служба, возвращаемая командой Get-Service, является объектом на основе класса .NET System.

ServiceProcess. ServiceController. Как и большинство объектов, ServiceController содержит многочисленные свойства и методы, которые могут пригодиться для доступа к данным внутри этого объекта или для выполнения операций с данными. Например, объект ServiceController включает свойства Name и DisplayName. Значение данных, связанное со свойством Name, обеспечивает фактическое имя службы.

Read More