是否有可能看到哪些AD用户正在浏览内部(Intranet)IIS Web服务器?
你有一个HTTP协议的理解问题。 它不像FTP那样,当用户“浏览”的时候,客户端计算机在服务器计算机上保持持续的连接。 来自客户的连接是暂时的。
话虽如此,假设您要求对站点进行身份validation,则可以使用该站点的日志文件来查看最近访问页面的人员。 如果你不需要authentication,你只会看到客户端的IP地址。
我不认为你可以得到在服务器级别的个人用户,但你可以用perfmon计数器来计算有多less活动连接。
对于IIS6(来自Technet文章 ):
1.打开pipe理工具,然后单击性能。
2.右键单击“系统监视器”详细信息窗格,然后单击“添加计数器”。
3.请执行以下任一操作:
要监视运行监视控制台的任何计算机,请单击使用本地计算机计数器。
-要么-
要监视特定计算机(不pipe监视控制台的运行位置),请单击从计算机中select计数器,然后指定计算机名称或IP地址。
4.在Performance对象中,单击:
Web服务来监视活动的Web连接。
-要么-
FTP服务来监视活动的FTP连接。
5.从列表中select计数器,然后select当前连接。
6.单击所有实例。
7.单击添加,然后单击closures。
见埃文的答案。 还有netstat | find“:http”会显示哪些主机在最后一分钟左右连接(无论TIME_WAIT时间间隔是多less)。
JR
由于“当前”的定义各不相同,这个问题变得很难。
如果实际上您需要知道谁在最近10分钟或1分钟内访问过此服务器,则可以随时查看安全事件日志以检查login事件。 但这只是一个粗略的估计。
如果您使用的是asp.net身份validation,并且想要通过您的站点查看结果,则可以在站点代码中使用c#中的以下代码:
using System.Web.Security; MembershipUserCollection users = Membership.GetAllUsers(); foreach(MembershipUser user in users) { if (user.IsOnline) { . . } }