从 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) 我试图查询表格,但我无法找到问题的答案.是否可以通过使用通配符语句找到非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)
这是两个不同的查询,我不知道如何做到这一点.
我正在尝试仅检索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”