首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在自定义字段中使用广义时间

在自定义字段中使用广义时间
EN

Stack Overflow用户
提问于 2016-10-20 16:41:39
回答 1查看 1K关注 0票数 0

我们希望在2008年的R2中向我们的Active模式中添加几个日期字段,以帮助实现一些自动化。特别地,添加一个从导入自动填充的hireDate字段。

在我们的测试环境中,所有这些都能像预期的那样工作,但是我很好奇是否有一种方法来增强这个自定义属性在日期时的显示。

hireDate字段被设置为通用时间语法,以匹配本机字段,如whenCreated

但是,当将日期放置到hireDate中时,它的格式与显示的whenCreated格式大不相同。

代码语言:javascript
代码运行次数:0
运行
复制
> $user = Get-ADUser MyUser -Properties whenCreated,hireDate
> $user

-- snip --
hireDate          : {19870301070000.0Z}
whenCreated       : 8/28/2014 12:24:42 PM

如果我检查这些属性的MemberType,它们也是不同的,即使它们都是广义时间

代码语言:javascript
代码运行次数:0
运行
复制
$user | Get-Member -MemberType Properties

   TypeName: Microsoft.ActiveDirectory.Management.ADUser

Name              MemberType Definition
----              ---------- ----------
hireDate          Property   Microsoft.ActiveDirectory.Management.ADPropertyValueCollection hireDate {get;set;}
whenCreated       Property   System.DateTime whenCreated {get;}

是否有适当的方法将自定义属性创建为DateTime,或者我们是否受到创建这些属性的方式的限制?

EN

回答 1

Stack Overflow用户

发布于 2016-10-20 17:01:44

hireDate是一个集合。要获得实际值,需要.hireDate[0].hireDate | Select-Object -First 1。如果PowerShell不为您解析泛化时间戳(毕竟,hireDate不是一个标准属性),则需要对其进行do it yourself

代码语言:javascript
代码运行次数:0
运行
复制
$fmt = "yyyyMMddHHmmss.f'Z'"
$culture = [Globalization.CultureInfo]::InvariantCulture

Get-ADUser MyUser -Properties whenCreated,hireDate |
  Select-Object -Property *, @{n='hireDate';e={
    [DateTime]::ParseExact($_.hireDate[0], $fmt, $culture)
  }} -Exclude hireDate
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40160015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档