Terminal Server Profiles for Users in Active Directory Attribute

Active Directory üzerinde bildiğiniz gibi içerisinde sakladığı nesnelere ait öz nitelikler yani attribute’ ler bulunmaktadır. Örneğin Active Directory Users and Computer uygulaması üzerinden bir kullanıcıda yapacağınız değişiklikleri isterseniz Active Dirtectory veri tabanını görüntüleyen ADSI edit vb araçlar ilede değiştirebilirsiniz. Ancak burada bir sorun karşımıza çıkıyor.Örneğin aşağıdaki Terminal Services Profile sekmesi altındaki attribute leri adsi edit ile active director veri tabanında bulamıyoruz.

Ancak bu bölüme ait hiç bir attribute ADSI edit ile gözlemlenmemektedir.

Bu durumda ne yapacağız peki ?  Terminal Server takımı tarafından geliştirilen bir power shell komutu ile bu kayıp attribute ler değiştirilebilmektedir.

function SetTSProperties()
{
$ou = [adsi]”LDAP://ou=mytestou,dc=nwtraders,dc=com”
$user = $ou.psbase.get_children().find($userDN)
$user.psbase.invokeSet(“allowLogon”,1)
$user.psbase.invokeSet(“TerminalServicesHomeDirectory”,$hDirValue)
$user.psbase.invokeSet(“TerminalServicesProfilePath”,$ppValue)
$user.psbase.invokeSet(“TerminalServicesHomeDrive”,$hdValue)
$user.setinfo()
} #end SetTSProperties

function QueryTSProperties()
{
$ou = [adsi]”LDAP://ou=mytestou,dc=nwtraders,dc=com”
$user = $ou.psbase.get_children().find($userDN)
foreach($property in $aryTSProperties)
{
“$($Property) value: $($user.psbase.invokeget($Property))”
} #end foreach
} #end QueryTSProperties

$userDN = “CN=My User”
$hDirValue = “\\Hamburg\TSUsers\Home\TestUser”
$hdValue = “t:”
$ppValue = “\\Hamburg\TSUsers\Profiles\TestUser”
$aryTSProperties=”allowLogon”,”TerminalServicesHomeDirectory”,
“TerminalServicesHomeDrive”,”TerminalServicesProfilePath”
SetTSProperties
queryTSProperties

Yukarıdaki komut yardımı ile kolay bir şekilde bu bölümleri güncelleyebilirsiniz.