0

NetQueryDisplayInformation (NetUserEnum 関数は既に試しました) を使用して、ローカル マシン上のユーザー アカウントのセットを取得しています。この方法ですべてのアカウントを取得できますが、実際の人間に関連付けられたアカウントのみが必要であり、たとえば、ソフトウェアの更新に使用される非表示のアカウントは必要ありません。

関連する構造に関するMSDN ドキュメントと同様のスタックの質問を読んだ後、必要なアカウントだけにフィルター処理できるものは何もありません。

理想的には、誰かが次のようなシンプルで信頼できるソリューションを持っているでしょう:

  1. 文書化されていないレジストリ エントリを使用しない
  2. ディスク上のユーザー フォルダーの列挙に依存しない
  3. 非実ユーザー アカウントの完全なリストを作成しようとするつもりはありません。
  4. 技術的な理由から、WMI はオプションではありません

何か案は?

[ずっと後] 答えはわかりましたが、ここではありません。各ユーザーのグループを列挙するだけです。「実際の人間」アカウントは、管理者、パワー ユーザー、ユーザー、ゲストの 1 つまたは複数のメンバーになります。

4

2 に答える 2

0

NetUserEnum関数を使用できる場合があります。システム上のすべてのユーザー アカウントのリストを返す必要があります。私はこの関数を個人的に使用する必要はなかったので、目を見張るようなコード例を提供することはできませんが、MSDN の情報はあなたが探しているもののように思えます。

于 2012-05-08T14:30:28.553 に答える