Windows ランタイム コンポーネントとユニバーサル Windows アプリケーション (UWA) を含むプロジェクトに、Windows 10 マシンと Visual Studio 2015 を使用しています。UWA には、ログインしているユーザーの UserIdentity (ウィンドウ NT ID、つまり「ドメイン名/ユーザー名」) を取得するタスクを実行する Windows ランタイム コンポーネントの参照があります。ランタイム コンポーネントをデバッグするために、UWA テスト プロジェクトが作成されます。ランタイム コンポーネントで UserIdentity を取得すると、Windows10 cordova プロジェクトへのコンポーネント参照を使用して、JavaScript で UserIdentity を取得できます。
ここで、ユーザーのドメイン名/ユーザー名にログインするためのコードが機能しないという問題に直面しています。このコードを Windows 8.1 から 10 にアップグレードしました。このコードは Windows 8.1 では問題なく動作しますが、Windows 10 では問題があります。以下は、UserIdentity を取得するために使用しているコードです。
public sealed class getNTID
{
public static IAsyncOperation<string> DownloadAsStringsAsync()
{
return Task.Run<string>(async () =>
{
IReadOnlyList<User> users = await User.FindAllAsync();
var current = users.Where(p => p.AuthenticationStatus == UserAuthenticationStatus.LocallyAuthenticated &&
p.Type == UserType.LocalUser).FirstOrDefault();
var data = await current.GetPropertyAsync(KnownUserProperties.AccountName);
return data.ToString();
}).AsAsyncOperation();
}
}
最後にデータ変数に空の文字列を取得しています。誰かが経験を共有するか、言及されたプラットフォームでこの種の問題に直面したことがあれば、それは素晴らしいことです.