powershell - Convert Distinguished Name to SamAccountName without Get-ADUser -
my machines have original build of powershell v2.0, get-aduser not work. trying convert manager property it's distinguishedname it's samaccountname.
$searcher = [adsisearcher]"(samaccountname=$env:username)" $searcher.findone().properties.manager this works if had get-aduser:
(get-aduser (get-aduser $user -properties manager).manager).samaccountname
$ads_escapedmode_on = 2 $ads_settype_dn = 4 $ads_format_x500_dn = 7 $pathname = new-object -comobject "pathname" [void] $pathname.gettype().invokemember("escapedmode", "setproperty", $null, $pathname, $ads_escapedmode_on) $searcher = [adsisearcher] "(samaccountname=$env:username)" $managerdn = $searcher.findone().properties["manager"] if ( $managerdn ) { [void] $pathname.gettype().invokemember("set", "invokemethod", $null, $pathname, @($managerdn[0], $ads_settype_dn)) $escapeddn = $pathname.gettype().invokemember("retrieve", "invokemethod", $null, $pathname, $ads_format_x500_dn) ([adsi] "ldap://$escapeddn").properties["samaccountname"][0] } get manager property current user (a distinguished name), escape using pathname object, bind using [adsi] type accelerator, , retrieve manager's samaccountname attribute.
Comments
Post a Comment