Windows サービスを作成し、おそらく getprocesses 関数または ManagementObject コードを使用してコンテキストを取得することにより、ボックスにログインしているユーザーになりすますことができるようにしたいと考えています。
パスワードはありませんが、ユーザーはサービスが実行されているボックスにログインします。このコンテキストは、偽装に使用されます。
Windows サービスを作成し、おそらく getprocesses 関数または ManagementObject コードを使用してコンテキストを取得することにより、ボックスにログインしているユーザーになりすますことができるようにしたいと考えています。
パスワードはありませんが、ユーザーはサービスが実行されているボックスにログインします。このコンテキストは、偽装に使用されます。
説明されているようにやりたいことが可能かどうかはわかりません。パスワードがないと、別のユーザーになりすますことはできません。ただし、サービスとなりすましたいユーザーとの間でなんらかの調整が必要な場合を除きます。
このスレッドには、ユーザーを偽装する方法に関する適切な情報があります: How do you do Impersonation in .NET?
ユーザーを偽装するには、Win32 ユーザー トークンが必要です。これは通常、パスワードが必要な Win32 LogonUser を介して取得します。
ただし、偽装するユーザーにサービスでリクエストを開始させることで、これを回避できます。これは、スタートアップ タスク、手動のユーザー アクション、またはその他の方法で実行できます。これが可能な場合は、WCF を使用してサービスを作成することを検討してください。WCF を使用すると、サービスを呼び出しているユーザーを偽装するようにサービスを構成できます。