是否可以查询域用户当前登录的域计算机的 IP 地址(或机器名称)列表?
问题"Getting logged on user’s name with or without domain in Windows"接近,只有我想找到相反的东西。
由于我对 Active Directory 的内部结构缺乏了解,所以我询问这种可能性。我的直觉是 Active Directory 只知道域用户最后一次验证的时间(可能还有位置),而不会跟踪当前 session 或注销。
提供此解决方案的任何语言都是可接受的答案,但首选 .NET 解决方案。更重要的是,我想知道这是否可能。
最佳答案
我认为没有一个地方可以获取此信息。您可以找出用户上次登录的时间以及从 AD 进行身份验证的 DC,但问题是,当您登录时,第一个响应的 DC 是进行身份验证的服务器。该 DC 然后将此信息记录到其事件日志中,该事件日志驻留在每个主机上,而不是在中央系统中。您可以从这些链接中看到更多相关信息: http://support.microsoft.com/kb/175062 和 http://www.tartoos.com/HomePage/Rtable/ComputerSchool/Networking/Net41.htm话虽如此,我想您可以从用户帐户的 lastLogonTimestamp AD 属性中获取最后一次登录,然后查询域中所有 DC 的事件日志,以找出是哪个 DC 对它们进行了身份验证以及来自哪个系统。但是所有这些只会告诉系统上的最后一个 lgged……不是他们可以登录的所有系统。同样,您可以将这些结果与可以从 DC 事件日志中提取的注销时间进行比较……但这实际上似乎是一个主要的矫枉过正的努力,并且您最好编写一个记录了这些事件的登录/注销脚本到中央报告系统,供您将来使用。
这是另一种选择,您可以查询您的 WINS 服务器以轮询它拥有的用户登录信息,它应该返回它认为他们登录的系统,请参阅这篇文章了解如何做到这一点:
http://www.visualbasicscript.com/m_56230/tm.htm
基本上命令是:"NETSH WINS SERVER\\WinsServerName SHOW NAME UserName 03"
如果您正在使用某种 Assets /系统管理软件,例如 Desktop Authority、Altiris 等,那么您可能更幸运地探索桌面代理记录此信息的位置,因为它们通常也会将此信息记录到某个 SQL 表中( s).
关于windows - 是否可以查询特定域用户当前登录的 IP 地址(或机器名称)列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/732696/
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html
这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife
是否有类似“RVMuse1”或“RVMuselist[0]”之类的内容而不是键入整个版本号。在任何时候,我们都会看到一个可能包含5个或更多ruby的列表,我们可以轻松地键入一个数字而不是X.X.X。这也有助于rvmgemset。 最佳答案 这在RVM2.0中是可能的=>https://docs.google.com/document/d/1xW9GeEpLOWPcddDg_hOPvK4oeLxJmU3Q5FiCNT7nTAc/edit?usp=sharing-知道链接的任何人都可以发表评论
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
我知道我可以指定某些字段来使用pluck查询数据库。ids=Item.where('due_at但是我想知道,是否有一种方法可以指定我想避免从数据库查询的某些字段。某种反拔?posts=Post.where(published:true).do_not_lookup(:enormous_field) 最佳答案 Model#attribute_names应该返回列/属性数组。您可以排除其中一些并传递给pluck或select方法。像这样:posts=Post.where(published:true).select(Post.attr