powershell - PowerShell - 如何定位对象的属性和方法?(它们不在帮助文件中)
问题描述
我对以下代码有几个问题。
Get-DBAAgentJob -SqlInstance *instancename* | Where-Object { $_.HasSchedule -Match "False" }| Out-GridView
- 在 Where-Object 中,有 $ .HasSchedule。什么是“$ .HasSchedule”?我查看了 Where-Object 和在线的帮助,但我不明白那是什么。它是一个函数吗?
- 这个语法意味着/做什么 $_ ?
- 除了 .HasSchedule,我可以在 Where-Object 中过滤什么?另外,我在哪里可以找到如何解决这个问题?如果它不在帮助或在线书籍或谷歌搜索中,我不确定。我的谷歌搜索算法可能不足以让我进入球场。
我很好奇我可以在这行代码的 Where-Object 中过滤的所有内容。例如,如果我想查看未启用作业的位置,而不是有计划,是否有 .NotEnabled?
谢谢您的帮助。
解决方案
该Where-Object
子句是一种过滤从某个属性的 cmdlet 返回的对象的方法。在您的示例中,它正在过滤HasSchedule
属性上的对象。该示例的过滤器表示此属性必须为 False,以便对象通过管道通过管道传输,下一个 cmdlet 将它们作为输入。
它使用$_
Automatic 变量测试对象,该变量按顺序表示从Get-DbaAgentJob
cmdlet 传入的每个对象。
通常,要了解对象的外观,您只需在 Google 上搜索即可。
在这种情况下,如果您查找Get-DBAAgentJob
,您将找到此页面,您可以在其中查看函数本身。在这里您可以找到每个返回的对象具有哪些属性:
ComputerName
, InstanceName
, SqlInstance
, Name
, Category
, OwnerLoginName
, IsEnabled
, LastRunDate
, DateCreated
, HasSchedule
, OperatorToEmail
.
如您所见,有一个属性IsEnabled
,因此您可以过滤 Not enabled with
Where-Object { -not $_.IsEnabled }
请参阅:PowerShell 逻辑运算符
如果您单击dbatools的主页,您会看到一个名为docs的部分,您可以在其中了解更多信息。
在 PowerShell 上浏览免费电子书
希望有帮助
推荐阅读
- r - 为什么调色板只对所有条应用一种颜色?
- scala - 为什么我的 Spark Scala 作业在使用 Jedis 客户端读取/写入 Redis 池时挂起
- php - PHP 将数组组合成多维并渲染成 HTML 表格
- javascript - js字符串插值在haml中失败:javascript过滤器
- java - VB 的 SendKeys 类有 java 替代品吗?
- git - Git 等效于'repo start --head XXXX'
- .htaccess - HTACCESS:向 RewriteEngine 添加 FOLDER 异常
- angular - Angular - 错误 TS2339:“对象”类型上不存在属性“结果”
- angular - 在角度中,如何将元素添加到视图和数据库中,然后在不知道id的情况下直接删除它?
- git - 仅按特定文件类型列出未跟踪的文件