- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何通过 ADSI LDAP 为用户获取这些属性,这些属性来自 Get-ADUser
,我需要 ADSI 的等价物。
我的目标是为所有用户查询整个域并获取这些属性。
我尝试使用 Get-ADUser
cmdlet,它在查询用户时超时。
Get-ADUser -Filter * -Properties enabled,PasswordNeverExpires,passwordexpired,Name,SamAccountName,mail,passwordlastset -server sc |
where {$_.Enabled -eq "True"} |
where { $_.PasswordNeverExpires -eq $false } |
where { $_.passwordexpired -eq $false } |
Select Name,SamAccountName,mail,
@{l='PasswordExpires';e={$_.passwordlastset+(Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge}},
@{l='DaystoExpire';e={(New-TimeSpan -Start (get-date) -end ($_.passwordlastset+(Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge)).days}}
上述命令适用于几个用户,但如果我查询大量用户,它会提供无效的枚举上下文。
最佳答案
属性 SamAccountName
、Name
和 Mail
对应于同名的 AD 属性。 PasswordLastSet
派生自属性 pwdLastSet
。其他 3 个属性(Enabled
、PasswordNeverExpires
和 PasswordExpired
)是 userAccountControl
中的标志。属性。
使用带有 LDAP 查询的 adsisearcher
对象在 AD 中搜索用户对象,然后构建具有所需属性的自定义对象:
$ACCOUNTDISABLE = 0x000002
$DONT_EXPIRE_PASSWORD = 0x010000
$PASSWORD_EXPIRED = 0x800000
$searcher = [adsisearcher]"(&(objectClass=user)(objectCategory=person))"
$searcher.FindAll() | % {
$user = [adsi]$_.Properties.adspath[0]
New-Object -Type PSCustomObject -Property @{
SamAccountName = $user.sAMAccountName[0]
Name = $user.name[0]
Mail = $user.mail[0]
PasswordLastSet = [DateTime]::FromFileTime($_.Properties.pwdlastset[0])
Enabled = -not [bool]($user.userAccountControl[0] -band
$ACCOUNTDISABLE)
PasswordNeverExpires = [bool]($user.userAccountControl[0] -band
$DONT_EXPIRE_PASSWORD)
PasswordExpired = [bool]($user.userAccountControl[0] -band
$PASSWORD_EXPIRED)
}
}
话虽如此,为什么您要解决所有这些麻烦,而不是简单地使用 Get-ADUser
来达到相同的目的?
Import-Module ActiveDirectory
$attributes = 'SamAccountName', 'Name', 'Mail', 'PasswordLastSet', 'Enabled',
'PasswordNeverExpires', 'PasswordExpired'
Get-ADUser -Filter * -Properties $attributes | select $attributes
关于powershell - 通过 ADSI 提取 AD 用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30710755/
代码如下: <%@ Language=VBScript %> <% Dim strIP strIP = request
我有这个 PowerShell 脚本的修改版本:https://social.technet.microsoft.com/Forums/scriptcenter/en-US/355d9293-e324
如何通过 ADSI LDAP 为用户获取这些属性,这些属性来自 Get-ADUser,我需要 ADSI 的等价物。 启用 密码永不过期 密码过期 姓名 SamAccountName 邮件 上次设置密码
我有一个程序,允许使用Windows登录信息登录,我试图在用户输入密码时获取Windows组成员,我编写了一个类似于我的代码的小函数: procedure ShowADSPath(UserName,
不知道 eff' 出了什么问题!我在 Windows 7 上使用 Powershell 2.0。在 Windows XP 上是否有同样的脚本,我只是错过了什么吗? $server = "server1
我很好奇是否有人可以描述如何通过绑定(bind)实例枚举可用的 ADSI 方法,如 [ADSI]$instance.psbase.Invoke() ? 研究结果显示"refer to the docs
我正在尝试使用 powershell 创建新用户。我们没有运行事件目录(不确定这是否会改变事情)。这是我想要做的: $machine = [ADSI]"WinNT://localhost,comput
在 Windows Server 2008(32 位)上执行 Power shell 脚本 (v1.0) 时出现异常。 它使用 ADSI 在删除虚拟目录之前搜索虚拟目录。 我收到以下异常: Excep
我有一些代码可以通过 ADSI 获取 IIS6 站点的列表: ([adsi]"IIS://localhost/W3SVC").psbase.children | select servercommen
目前我正在处理现有的 vc++ dll,它使用 ADsOpenObject 方法来绑定(bind)域详细信息。每当我执行代码时,它总是指向特定域,如“picTest.com”,对于特定用户,无论用户是
我的 SQL Server (2005) 中有一个 ADSI 连接,我可以使用 openquery 查询它。有什么方法可以创建新帐户(和/或)编辑现有帐户吗? 另外,我想必须使用 openquery
我是 Office 365 组织的一部分,我们假设它是 fabrikam.onmicrosoft.com。我在本地有 ADSI Edit。 (如何)我可以连接到我的 O365 组织的 Azure AD
我们目前有一个查询事件目录信息的 View 。我想知道是否有关于 AD 中哪些字段(字段名称)可供我查询的很好的引用。我没有访问 Active Directory 的权限,所以我不能去那里玩,也许我自
我是 C++ 新手。使用 MSDN article 的帮助我正在尝试使用 ADSI 获取域中 OU 下的所有计算机。但是我收到 8254L (FILTER_UNKNOWN) 错误。我不确定我在这里做错
我无法在 WIN-7 上找到 ADSI EDIT,在这方面有任何帮助。 任何安装说明! 附注。安装 ADSI Edit,启动时出错:“MMC 无法创建管理单元” RSAT 是否仍可用于 Win7? 谢
我们为大型医疗保健 claim 处理组织和企业提供大型交易处理系统(批处理)ERP 解决方案。我们目前实现自己的用户帐户管理。即,具有适当权限/角色的用户可以创建、编辑或删除帐户,并根据需要分配权限和
我正在使用 C++ 与 Active Directory 服务器 2003 交互...... VARIANT var; VariantInit(&var); V_BSTR(&var) = SysAll
我正在尝试创建一个 powershell 脚本来自动创建用户,这在使用 ADSI 时效果很好。但是,我需要设置以下属性,但我不确定如何(或者 ADSI 是否可以这样做): 作为服务登录 允许本地登录
当我尝试查询 AD 中的用户时,我收到以下错误: 无法从链接服务器“ADSI”的 OLE DB 提供程序“ADsDSOObject”获取行。 我认为该问题是由于 1000 行限制(或 SqlServe
使用 Vista... 我有一个使用 ADSI 在 IIS 网站上设置 ScriptMap 的脚本。它是 javascript,在 cscript.exe 中运行,代码如下所示: var web =
我是一名优秀的程序员,十分优秀!