Я решил эту проблему с помощью метода InitializeClientContextFromToken вместо InitializeClientContextFromName.
В моем случае он использовался внутри веб-приложения ASP.NET
ulong token = 0;
var principal = User as WindowsPrincipal;
if ( principal != null )
{
var identity = (WindowsIdentity) principal.Identity;
ViewBag.Identity = identity.Name;
token = (ulong) identity.Token.ToInt64();
}
// Server 2008 or Vista required to use IAzClientContext3
// Using token 0 uses app pool identity
var _clientContext = (IAzClientContext3) _azManApp.InitializeClientContextFromToken( token );
Если вы передаете ноль в качестве значения токена, для веб-приложений, в результате которых используется идентификатор пула приложений.В противном случае, если пользователь вошел в систему с помощью WindowsIdentity, значение свойства Token также будет работать.
Для настольного приложения вы, вероятно, можете просто использовать нулевой токен для использования идентификатора текущего пользователя.