小编Cel*_*ppy的帖子

您可以在 Get-ADUser 上使用 -Filter 来过滤掉空字段吗?

从 Active Directory 获取数据然后将其插入 SQL 表时,有没有办法过滤掉空字段?当我使用-Filteron时Get-ADUser,我认为这不是执行此操作的正确语法。

它失败说

输入对象无法绑定到命令的任何参数,因为该命令不采用管道输入,或者输入及其属性与采用管道输入的任何参数都不匹配

$ADARRAY = (Get-ADGroupMember -Identity "Domain Users" -Recursive |
           Get-ADUser -Filter {-not (Mail -like "*")} -Properties Mail)

foreach($OBJECT in $ADARRAY) {
    $NAME = $OBJECT.Name 
    $USER = $OBJECT.SamAccountName
    $EMAIL = $OBJECT.Mail

    $INSERT = "INSERT $TABLE VALUES ('$USER','$EMAIL', '$NAME')"
    $SQL.CommandText = $INSERT 

    $SQL.ExecuteNonQuery()
}

$SQLCON.Close()
Run Code Online (Sandbox Code Playgroud)

powershell active-directory

5
推荐指数
1
解决办法
7935
查看次数

您可以使用IS NOT NULL和通配符作为搜索参数

我试图查询表格,但我无法找到问题的答案.是否可以通过使用通配符语句找到非null值?

 SELECT POSITION_TITLE, FNAME, LNAME, EMAIL,
FROM person_detail
WHERE POSITION_TITLE IS NOT NULL;
   (SELECT POSITION_TITLE, FNAME, LNAME, EMAIL, 
   FROM person_detail
   WHERE POSITION_TITLE LIKE ('ELE%'));
Run Code Online (Sandbox Code Playgroud)

这是两个不同的查询,我不知道如何做到这一点.

sql sql-server

3
推荐指数
1
解决办法
63
查看次数

如何仅从Active Directory中检索启用的用户

我正在尝试仅检索AD中已启用的用户。当我运行此代码行时,它将返回错误。我也尝试使用过滤器来仅过滤启用用户的请求信息,但它返回每个域中的所有用户,而不仅仅是单个ID。

Get-ADUser : A positional parameter cannot be found that accepts argument 'enabled -eq 'true''.
Run Code Online (Sandbox Code Playgroud)

这是我的代码抛出错误。

Get-ADGroupMember -Identity 'Animal Shop A' | Get-ADUser -Filter '*' | Get-ADUser Where "enabled -eq 'true'" | Get-ADUser -Properties ('Mail')
Run Code Online (Sandbox Code Playgroud)

这将返回每个域的所有用户

Get-ADGroupMember -Identity 'Animal Shop A' | Get-ADUser -Filter "enabled -eq'true'" | Get-ADUser -Properties ('Mail')
Run Code Online (Sandbox Code Playgroud)

我对他们的语法都错了吗?如果我只想返回值,请说“动物商店A”,然后再说“动物商店B”

powershell active-directory

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

active-directory ×2

powershell ×2

sql ×1

sql-server ×1