Import-Module activedirectory
$Name = "Larry Page"
$Searcher = [ADSISearcher]"(&(objectCategory=person)(objectClass=user)(cn=$Name))"
[void]$Searcher.PropertiesToLoad.Add("sAMAccountName")
$Results = $Searcher.FindAll()
ForEach ($User In $Results)
{
$NTName = $User.Properties.Item("sAMAccountName")
$CompanyName = $User.Properties.Item("company")
$NTName + " " + $CompanyName
[string]$userName = $NTName.properties.name
Get-ADUser "L2371732" -Properties company,PasswordExpired, PasswordLastSet, PasswordNeverExpires
}
到目前为止,这是我的代码。我试图在下面的行中用$ userName代替L2371732,但是我遇到了另一个错误,因此我在Get-ADUser中硬编码了用户名。
我只希望我指定的字段,但是我得到了所有信息(公司,专有名称,已启用等)
答案 0 :(得分:1)
只是试图专注于问题的标题部分。
根据documentation -Properties
执行以下操作:
指定要从服务器检索的输出对象的属性。使用此参数可检索默认设置中未包含的属性。
因此,除了默认设置外,您还会看到您要的内容。如果您不想要这些属性,可以通过管道将其拖放到Select-Object
并仅询问您需要什么。
$props = 'company', 'PasswordExpired', 'PasswordLastSet', 'PasswordNeverExpires'
Get-ADUser "L2371732" -Properties $props | Select-Object $props
如果您还希望返回默认属性,例如samaccountname可以毫无问题地添加到列表中。