如何使用Where-Object编写powershell脚本

时间:2016-09-01 12:06:10

标签: c# powershell

给出这样的脚本:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
  if (e.KeyCode == Keys.Decimal)
  {
    e.SuppressKeyPress = true;
    var caretPosition = textBox1.SelectionStart;  
    textBox1.Text.Insert(caretPosition , ".");
    textBox1.SelectionStart = caretPosition  + 1;
    textBox1.SelectionLength = 0;
  }
}

到目前为止,我尝试过,但仍然没有运气。

Get-ADPermission -Identity "Mark Adam" | where {$._ExtendedRights -like "*Send-As*"} -and -not {$_.Users -like "NT AUTHORITY\SELF"}

返回错误如下:

  

术语' Where-Object'不被识别为cmdlet的名称,   功能,脚本文件或可操作程序。检查拼写   名称,或者如果包含路径,请验证路径是否正确   再试一次。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

你的语法错了。如果是复杂的过滤(即多个标准),您希望将整个过滤条件放在脚本块中,如下所示:

Get-ADPermission -Identity "Mark Adam" | Where-Object {$_.ExtendedRights -like "*Send-As*" -and $_.Users -notlike "NT AUTHORITY\SELF"}

还有一个拼写错误

$._ExtendedRights 

虽然必须

$_.ExtendedRights