日期:2014-05-18  浏览次数:20501 次

asp.net 中获取当前计算机登录用户名
我用的是
CurrentIdentity.Name 得到的结果是WANGZW-SHWY\ASPNET 前面的wangzw-shwy是我的计算机名称,我的登录名是wangzhiw

System.Environment.UserName 得到的结果是ASPNET

上面是我试的两个方法,在项目中运行是可以获得我的登录用户名,但是一放到IIS上布置后就成了上述情况

请各位高手指点迷津

------解决方案--------------------
http://www.ninedns.com/asp.net/
主机名 = Server.MachineName;

IP地址 = Request.UserHostAddress;

系统时间 = DateTime.Now.ToString();

服务端口 = Request.ServerVariables["SERVER_PORT"];

操作系统 = Environment.OSVersion.ToString().Remove(0, 10);

环境版本 = Request.ServerVariables["SERVER_SOFTWARE"];
private void GetInfo()
{
string cpuInfo = "";//cpu序列号
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
Response.Write ("cpu序列号:"+cpuInfo.ToString ());
}

//获取硬盘ID
String HDid;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach(ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
Response.Write ("硬盘序列号:"+HDid.ToString ());
}


//获取网卡硬件地址
9558821702001755616
 
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc2 = mc.GetInstances();
foreach(ManagementObject mo in moc2)
{
if((bool)mo["IPEnabled"] == true)
Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString());
mo.Dispose();
}
}

------解决方案--------------------
那你应说是得到客户机名称,
------解决方案--------------------
又是一个想写病毒的~~~
------解决方案--------------------
WindowsPrincipal wp = new WindowsPrincipal(WindowsIdentity.GetCurrent());
string[] logon = wp.Identity.Name.Split('\\');
string UserDomain = logon[0];//网域
string UserName = logon[1].ToString().ToLower();//登陆名
------解决方案--------------------
Function GetLocalUserName
 Declare integer GetUserName in advapi32 string @lpBuffer, integer @nSize nSize = 250 lpBuffer = SPACE(nSize) If GetUserName (@lpBuffer, @nSize) > 0 lpBuffer = STRTRAN( allt(Subs(lpBuffer, 1, nSize)), CHR(0), [])
Return lpBuffer
Else
Return [] EndifEndfunc
------解决方案--------------------
很难,

操作系统不需要登录看到桌面后,iis才能够运行的

iis 服务是WANGZW-SHWY\ASPNET身份运行的

------解决方案--------------------
web.config里设置了Forms验证模式吗?
------解决方案--------------------
探讨
http://www.ninedns.com/asp.net/
主机名 = Server.MachineName;

IP地址 = Request.UserHostAddress;

系统时间 = DateTime.Now.ToString();

服务端口 = Request.ServerVariables["SERVER_PORT"];

操作系统 = Environment.OSVersion.ToString().Remove(0, 10);

环境版本 = Request.ServerVariables["SERVER_SOFTWARE"];
privat…

------解决方案--------------------