Нам нужно было получить информацию в активном каталоге в разделе «Службы терминалов». Для этого я создал функцию, которая отлично работает в большинстве случаев. Однако у некоторых пользователей есть проблемы.PowerShell InvokeGet свойство каталога не найдено
Код:
Function Get-ADTSProfile {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true,Position=0)]
[String] $DistinguishedName,
[parameter(Mandatory=$true,Position=1)]
[ValidateNotNullOrEmpty()]
[ValidateSet('UserProfile','AllowLogon','HomeDirectory','HomeDrive')]
[String]$Property
)
Begin {
$User = [ADSI]"LDAP://$DistinguishedName"
}
Process {
Switch ($Property) {
'AllowLogon' {if ($($User.psbase.InvokeGet('allowLogon')) -eq '1'){$True}else{$False}}
'HomeDirectory' {$User.psbase.InvokeGet('TerminalServicesHomeDirectory')}
'HomeDrive' {$User.psbase.InvokeGet('TerminalServicesHomeDrive')}
'UserProfile' {$User.psbase.InvokeGet('TerminalServicesProfilePath')}
}
}
}
Ошибка:
Get-ADTSProfile -DistinguishedName 'CN=test\, test (Den Bosch) NLD,OU=Users,OU=Disabled,OU=NLD,OU=EU,DC=domain,DC=net' -Property 'UserProfile'
Exception calling "InvokeGet" with "1" argument(s): "The directory property cannot be fo
und in the cache.
"
At S:\Test\Brecht\Testie.ps1:84 char:38
+ 'UserProfile' {$User.psbase.InvokeGet('TerminalServicesPro ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodTargetInvocation
Я не могу понять, почему он работает на некоторых, а не на всех ..
Похоже, что это происходит только на объектах пользователя, где «Профиль пользователя» пуст и где он никогда не был заполнен раньше. Так сказать, это произойдет только для новых пользователей, у которых нет набора «Профиль пользователя». Нужно выяснить, как достичь пустого результата в этом случае, а не ошибки. – DarkLite1
Очень странно, у меня есть пользователь, где «Разрешить вход в сервер терминалов» отмечен «ВКЛ», но он все еще дает ошибку. Но для некоторых других пользователей, где он также включен, он работает нормально. – DarkLite1
может вам это помочь? http://support.microsoft.com/kb/243440 –