在域控制器上获取Active Directory脚本的日期格式(美国或澳大利亚)

帕维尔·斯托亚诺维奇(Pavle Stojanovic)

我有一个VBScript可以提取某个日期之间的域中的用户,以便我可以修改其帐户。

有时,我会注意到,当我延长有效期时,它会将我设置的日期(澳大利亚格式dd / mm / yyyy)逆转为美国格式...。

我应该如何解决这个问题,是否应该检查域控制器的日期格式-如果是这样,如何从域控制器获取该信息?

还是他们的代码像VBA中的FORMAT ...所以我可以将日期设置为“我的方式” ....也许我应该将所有内容都转换为VBA。

这是我的代码的基础...

 Start_Date = 01/08/2014 ' 1st august 2014
 Days       = 28/08/2014 '28th august 2014

 Combined_Date = DateAdd("d", Days, Start_Date)
 Start_Date    = DateAdd("n", lngBias, Start_Date)
 Combined_Date = DateAdd("n", lngBias, Combined_Date)
 lngSeconds1   = DateDiff("s", #1/1/1601#, Start_Date)
 lngSeconds2   = DateDiff("s", #1/1/1601#, Combined_Date)
 str64Bit1     = CStr(lngSeconds1) & "0000000"
 str64Bit2     = CStr(lngSeconds2) & "0000000"

'##############################################################

 Set objRootDSE = GetObject("LDAP://RootDSE")
 strDomain      = objRootDSE.Get("DefaultNamingContext")

' my filter to get users that expiry between dates that are not disabled.
 SearchBy       = "<LDAP://" & strDomain & ">;" & _
 "(&(objectclass=user)(objectcategory=person)(accountExpires>=" & _
  str64Bit1 & ")(accountExpires<=" & str64Bit2 & ")(!(userAccountControl:1.2.840.113556.1.4.803:=2)));" & _
 "distinguishedname;subtree"

 Set objConnection                    = CreateObject("ADODB.Connection")
 objConnection.Provider               = "ADsDSOObject"
 objConnection.Open "Active Directory Provider"
 Set objCommand                       = CreateObject("ADODB.Command")
 Set objCommand.ActiveConnection      = objConnection
 objCommand.Properties("Page Size")   = 100000
 objCommand.Properties("Timeout")     = 300
 objCommand.Properties("Size Limit")  = 750000
 objCommand.CommandText               = SearchBy
 Set objRecordSet                     = objCommand.Execute
 objRecordSet.MoveFirst

 Do Until objRecordSet.EOF
  objUserOU  = objRecordSet.Fields("distinguishedname").Value
  Set myUser = GetObject ("LDAP://" & objUserOU)


   Wscript.Echo myUser.SamAccountName
   Wscript.Echo myUser.DisplayName
   Wscript.Echo myUser.AccountExpirationDate

  Err.clear
  objRecordSet.MoveNext
 Loop
约瑟夫·Z

我们不需要知道脚本运行机的文化,语言或区域设置,也不需要数据保存服务器,因为日期/时间值的内部表示不依赖于这些值。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

对于日期/时间输入,请使用日期文字,即代表一个日期和/或时间的字符串,该字符串括在井号(#)中,或者是DateSerial/TimeSerial函数,或者(不建议)字符串。接下来的Start_Date变量条目都是等效的:

Dim Start_Date, Days, Combined_Date
 'If Start_Date should be "1st august 2014"
 'String (not recommended)   
 Start_Date = "1/8/2014"
 'Literal
 Start_Date = #2014-08-01#  ' ISO format
 Start_Date = #01-Aug-2014#
 Start_Date = #Aug/1/2014#
 Start_Date = #8/1/2014#
 Start_Date = #8-1-2014#
 'DateSerial() function
 Start_Date = DateSerial( 2014, 8, 1)

接下来的两行代码片段应如下所示:

 Days          = 27
 Combined_Date = DateAdd("d", Days, Start_Date)  '28th august 2014

对于输出,我们将使用FormatDateTime具有适当的(内置于VBScript中)日期格式常量的函数:

  Wscript.Echo FormatDateTime( Start_Date, vbGeneralDate)
  Wscript.Echo FormatDateTime( Start_Date, vbLongDate)
  Wscript.Echo FormatDateTime( Start_Date, vbShortDate)

而且-恐怕-myUser.AccountExpirationDate不是vbscript datetime变体,因此您可能无法对其应用FormatDateTime()功能!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从远程服务器访问Active Directory域控制器

来自分类Dev

这个Turnkey Linux域控制器如何替换Microsoft Active Directory?

来自分类Dev

如何在所有域控制器上优化查询以查找最新的登录日期?

来自分类Dev

SystemD无法获得在启动Ubuntu 16.04时启动Samba4 Active Directory-域控制器(AD-DC)的脚本

来自分类Dev

Amazon Web Services-EC2-Active Directory(域控制器)| Web服务器(IIS)| 数据库服务器(SQL Server)

来自分类Dev

“澳大利亚”键盘布局与美国有何不同?

来自分类Dev

iOS 应用:如何本地化设备上显示的应用名称(澳大利亚英语)?

来自分类Dev

如何在 Angular 7 中显示澳大利亚日期格式?

来自分类Dev

用于域控制器的系统状态备份的PowerShell脚本不起作用

来自分类Dev

通过groovy脚本在jenkins中设置活动目录插件的“域控制器”

来自分类Dev

AngulaJs控制器上的日期格式

来自分类Dev

活动目录-获取所有域控制器

来自分类Dev

活动目录-获取所有域控制器

来自分类Dev

在“域控制器”上找不到对象“用户”

来自分类Dev

映射澳大利亚城市-R空间

来自分类Dev

验证ABN(澳大利亚业务编号)

来自分类Dev

LoadFrame(MFC)仅在澳大利亚失败

来自分类Dev

LoadFrame(MFC)仅在澳大利亚失败

来自分类Dev

您如何验证Java中的澳大利亚业务编号(ABN)格式?

来自分类Dev

使Primay域控制器正常工作

来自分类Dev

DirectoryEntry和域控制器

来自分类Dev

在 NodaTime 中如何处理澳大利亚/墨尔本和澳大利亚/维多利亚?

来自分类Dev

USMT 5.0是否需要HOST才能看到域控制器并在网络上?

来自分类Dev

连接到两个NIC上的两个域控制器

来自分类Dev

如何在Windows 2008 R2域控制器上本地获取有关具有Powershell的RootDSE的信息

来自分类Dev

Paypal Restful API可用性澳大利亚

来自分类Dev

Google地方信息自动完成仅限澳大利亚的限制

来自分类Dev

可以在澳大利亚托管getstream.io吗?

来自分类Dev

统计SDMX超时问题的澳大利亚统计局

Related 相关文章

  1. 1

    无法从远程服务器访问Active Directory域控制器

  2. 2

    这个Turnkey Linux域控制器如何替换Microsoft Active Directory?

  3. 3

    如何在所有域控制器上优化查询以查找最新的登录日期?

  4. 4

    SystemD无法获得在启动Ubuntu 16.04时启动Samba4 Active Directory-域控制器(AD-DC)的脚本

  5. 5

    Amazon Web Services-EC2-Active Directory(域控制器)| Web服务器(IIS)| 数据库服务器(SQL Server)

  6. 6

    “澳大利亚”键盘布局与美国有何不同?

  7. 7

    iOS 应用:如何本地化设备上显示的应用名称(澳大利亚英语)?

  8. 8

    如何在 Angular 7 中显示澳大利亚日期格式?

  9. 9

    用于域控制器的系统状态备份的PowerShell脚本不起作用

  10. 10

    通过groovy脚本在jenkins中设置活动目录插件的“域控制器”

  11. 11

    AngulaJs控制器上的日期格式

  12. 12

    活动目录-获取所有域控制器

  13. 13

    活动目录-获取所有域控制器

  14. 14

    在“域控制器”上找不到对象“用户”

  15. 15

    映射澳大利亚城市-R空间

  16. 16

    验证ABN(澳大利亚业务编号)

  17. 17

    LoadFrame(MFC)仅在澳大利亚失败

  18. 18

    LoadFrame(MFC)仅在澳大利亚失败

  19. 19

    您如何验证Java中的澳大利亚业务编号(ABN)格式?

  20. 20

    使Primay域控制器正常工作

  21. 21

    DirectoryEntry和域控制器

  22. 22

    在 NodaTime 中如何处理澳大利亚/墨尔本和澳大利亚/维多利亚?

  23. 23

    USMT 5.0是否需要HOST才能看到域控制器并在网络上?

  24. 24

    连接到两个NIC上的两个域控制器

  25. 25

    如何在Windows 2008 R2域控制器上本地获取有关具有Powershell的RootDSE的信息

  26. 26

    Paypal Restful API可用性澳大利亚

  27. 27

    Google地方信息自动完成仅限澳大利亚的限制

  28. 28

    可以在澳大利亚托管getstream.io吗?

  29. 29

    统计SDMX超时问题的澳大利亚统计局

热门标签

归档