私は別のWindowsユーザーIDで実行するために私のコードを偽装する必要があります。現在、私はいくつかのネイティブライブラリを呼び出すWebから入手したコードを使用しています。Windows 7でC#コードを偽装する
コードの目的は、ファイルサーバーのユーザーディレクトリのアクセス許可のアクセス許可を変更することです。
私は自分のフォルダのアクセス許可を変更できますが、自分のフォルダのアクセス許可を変更して他のユーザーの資格情報を持っています。しかし、私は彼の偽装によって私のマシン上でコードを実行しています。
しかし、許可されていない例外が発生しています。
私が使用していたコードは次のとおりです。
[DllImport("advapi32.dll", SetLastError = true)]
private static extern int LogonUser(
string lpszUserName,
string lpszDomain,
string lpszPassword,
int dwLogonType,
int dwLogonProvider,
ref IntPtr phToken);
私はこれは、Windows 7での作業やされていないことを確認していません。このような問題に直面した人はいますか?私は取得しています
例外:
Messagee:"{"Attempted to perform an unauthorized operation."}"
stack trace:
at System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType type, String name, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl)
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, SafeHandle handle, AccessControlSections includeSections, Object exceptionContext)
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections, Object exceptionContext)
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections)
at System.Security.AccessControl.FileSystemSecurity.Persist(String fullPath)
at System.IO.Directory.SetAccessControl(String path, DirectorySecurity directorySecurity)
at FolderAccessManager.Program.Main(String[] args) in
あなたは、いくつかの解決策を共有してもらえ..?
例外の詳細を教えてください。参考にしてください –
例外メッセージでケースを編集しました。 – sbmandav
なぜ 'runas'を使わないのですか? –