如何在c#程序中模拟域帐户进行登录操作
来源:互联网 发布:steam屏保软件 编辑:程序博客网 时间:2024/06/07 12:37
代码加注释:
01
using
System;
02
using
System.Collections.Generic;
03
using
System.Linq;
04
using
System.Text;
05
using
System.Security.Principal;
06
using
System.Runtime.InteropServices;
07
using
System.IO;
08
09
namespace
ConsoleApplication3
10
{
11
internal
static
class
WinLogonHelper
12
{
13
/// <summary>
14
/// 模拟windows登录域
15
///http://www.cnblogs.com/yukaizhao/
16
/// </summary>
17
[DllImport(
"advapi32.DLL"
, SetLastError =
true
)]
18
public
static
extern
int
LogonUser(
string
lpszUsername,
string
lpszDomain,
string
lpszPassword,
int
dwLogonType,
int
dwLogonProvider,
ref
IntPtr phToken);
19
}
20
21
class
Program
22
{
23
static
void
Main(
string
[] args)
24
{
25
IntPtr admin_token =
default
(IntPtr);
26
WindowsIdentity wid_admin =
null
;
27
WindowsImpersonationContext wic =
null
;
28
29
//在程序中模拟域帐户登录
30
if
(WinLogonHelper.LogonUser(
"uid"
,
"serverdomain"
,
"pwd"
, 9, 0,
ref
admin_token) != 0)
31
{
32
using
(wid_admin =
new
WindowsIdentity(admin_token))
33
{
34
using
(wic = wid_admin.Impersonate())
35
{
36
//假定要操作的文件路径是10.0.250.11上的d:\txt.txt文件可以这样操作
37
FileInfo file =
new
FileInfo(
@"\\10.0.250.11\d$\txt.txt"
);
38
//想做什么操作就可以做了
39
}
40
}
41
}
42
}
43
}
44
}
模拟域帐户之后,就有了模拟用户的权限,这里千万要注意安全!
- 如何在c#程序中模拟域帐户进行登录操作
- 如何在c#程序中模拟域帐户进行登录操作
- 如何在c#程序中模拟域帐户进行登录操作
- C#程序中模拟帐号登录
- 使用Win32API LogonUser 在C#程序中进行域认证
- 在C#中对IIS进行操作
- 如何在C#中进行音频格式转换
- C#模拟域登录
- 模拟Windows登录用户进行特殊操作
- 如何在C#程序中播放声音?
- 在C#中如何监视其他程序
- 如何在C#中轻松操作注册表
- 如何在C#中轻松操作注册表
- 如何在C#中轻松操作注册表
- 如何在C#中轻松操作注册表
- 在c#中如何操作文本文件
- Attribute在C#中如何操作
- 程序中加载登录窗口进行登录
- magento配置缓存服务器
- Android中引入第三方Jar出现java.lang.NoClassDefFoundError解决办法
- Oracle中Decode()函数使用技巧
- 取得iostat中的idle的值
- qt学习过程中用到的网址!
- 如何在c#程序中模拟域帐户进行登录操作
- JAVA 正则表达式 (超详细,转)
- iPhone开发【十二】多视图技术总结之四:Segmented Control
- TLD(Tracking-Learning-Detection)学习与源码理解之(六)
- UItableView和UISearchBar实现简单表格搜索
- 20条常见的编码陷阱 你中枪了没
- windbg dump 批量分析
- sleep wait
- 数据结构代码-双向链表