我们有一个本质上是后端的应用程序(即它在服务器上运行,用户永远不会直接与它交互)。应用程序仅通过UNC共享与文件服务器交互(不与SQL服务器或类似的东西交互)。
我们的营销人员希望根据“网站上的用户数量”(或其他一些客户规模)来销售此应用程序,并责成我在我们的许可中找出一种方法来强制执行此操作系统
我知道Microsoft服务器有CAL,我想知道是否有办法查询域控制器以确定CAL(到目前为止,谷歌搜索还没有提出任何相关信息)。
有没有人有任何聪明或有创意的解决方案来解决这个问题?
答案 0 :(得分:0)
就像哈利所说,你使用的任何解决方案都可能很狡猾,因为你计算的用户数量可能不会反映现实中的用户数量。话虽这么说,我能想到的最好的解决方案是计算Active Directory域中已启用的用户对象的数量。这可以通过使用脚本语言或内置命令来完成:
PowerShell的
(get-aduser -Filter {enabled -eq $true}).count
DSQUERY
dsquery * -filter "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))" -limit 0 | find /v /c ""
的VBScript
Const Ads_Scope_SubTree = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = Ads_Scope_SubTree
objCommand.CommandText = _
"Select Name From 'LDAP://DC = [Your Domain], DC = Com' Where objectCategory = 'Person'"
Set objRecordSet = objCommand.Execute
MsgBox "Total Number Of Users Found : " & objRecordSet.RecordCount
如果您想了解类固醇的相似之处,请参阅https://sysinfo.io/export-active-directory-users/。网站上还有大量免费的PowerShell脚本。