PowerShell - Как найти свойства объекта и методы? (Их нет в справочных файлах) - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть несколько вопросов по поводу следующего кода.

Get-DBAAgentJob -SqlInstance *instancename* | Where-Object { $_.HasSchedule -Match "False" }| Out-GridView
  1. В объекте Where есть $ .HasSchedule. Что такое «$ .HasSchedule»? Я заглянул в справку по Where-Object и онлайн и не понимаю что это такое. Это функция?
  2. Что означает этот синтаксис / делает $ _?
  3. Что все можно фильтровать в Where-Object, кроме .HasSchedule? Кроме того, где я могу узнать, как это выяснить, пожалуйста? Если это не в справке или книгах онлайн или поиске Google, я не уверен. Мой алгоритм поиска в Google, вероятно, не достаточно хорош, чтобы попасть в стадион.

Мне любопытно, что это все, что я могу отфильтровать в Where-Object в этой строке кода. Например, вместо графика, если я хотел посмотреть, где работа не включена, есть ли .NotEnabled?

Спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 30 апреля 2020

Предложение Where-Object - это способ фильтрации объектов, возвращаемых из командлета по определенному свойству. В вашем примере это фильтрация объектов по свойству HasSchedule. Фильтр примера говорит, что это свойство должно быть False, чтобы объекты передавались по конвейеру, где следующий командлет принимает их в качестве входных данных.

Он проверяет объекты, используя $_ Automati c переменная , представляющая каждый объект в последовательности, поступающей из командлета Get-DbaAgentJob.

Обычно, чтобы узнать, как будет выглядеть объект, вы можете просто найти его в Google.
В этом случае, если вы ищете Get-DBAAgentJob, вы найдете эту страницу , где вы можете посмотреть на саму функцию. Здесь вы можете найти свойства каждого возвращаемого объекта:

ComputerName, InstanceName, SqlInstance, Name, Category, OwnerLoginName, IsEnabled, LastRunDate, DateCreated, HasSchedule, OperatorToEmail.

Как видите, есть свойство IsEnabled, поэтому вы можете включить фильтр Не активируется с помощью

Where-Object { -not $_.IsEnabled }

См .: Логические операторы PowerShell

Если вы нажмете домашнюю страницу для dbatools , вы оштрафуете раздел под названием docs , где вы можете узнать больше.

Обзор бесплатных электронных книг на PowerShell

Надеюсь, это поможет

0 голосов
/ 01 мая 2020

В случае, если кто-то сочтет это полезным в будущем, ответ @ Тео помог мне дать базовое понимание моего вопроса.

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

Чтобы ответить на мой вопрос:

  • .hasSchedule является одним из многих свойств Get-DBAAgentJob.
  • . «Точка». «Самый распространенный способ получить значения свойств объекта - использовать метод точек». Books Online (BOL)
  • "Все свойства и методы для данного объекта называются members ... Файлы справки для любой данной команды не сообщают вам, какие объекты, свойства и методы доступны, единственный способ сказать, это использовать командлет Get-Member. Изучение PowerShell Джонатан Хассалл
  • Этот код расскажет вам все свойства и методы для члена, в данном случае тот, о котором мне было интересно узнать больше.

    Get-DBAAgentJob -SqlInstance instancename | get-member
    

Здесь показаны все доступные свойства и методы, включая hasSchedule и isenabled

enter image description here

BOL: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_properties?view=powershell-7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...