gpt4 book ai didi

powershell - ExtendedPropertyDefinition ID 是否有公共(public)枚举?

转载 作者:行者123 更新时间:2023-12-03 09:17:55 24 4
gpt4 key购买 nike

很像 this question 中的示例在制作 ExtendedPropertyDefinition 时,我在网上看到许多使用魔数(Magic Number)的代码片段。例子:

Dim PR_DELETED_ON As New ExtendedPropertyDefinition(26255, MapiPropertyType.SystemTime)
Dim PR_SEARCH_KEY As New ExtendedPropertyDefinition(12299, MapiPropertyType.Binary)

我找到了一个 reference location for these on MSDN .我可以像在一张大 table 上一样单独查找它们。这是 PR_DELETED_ON的那个就像上面的例子

 +------------------------+---------------+
| Associated properties: | PR_SEARCH_KEY |
+------------------------+---------------+
| Identifier: | 0x300B |
+------------------------+---------------+
| Data type: | PT_BINARY |
+------------------------+---------------+
| Area: | ID properties |
+------------------------+---------------+


0x300b 是十进制的 12299

我讨厌魔数(Magic Number),所以我在 EWS API 中寻找这个枚举。我写这个片段是为了(希望)向我展示所有暴露的枚举。
$obj = [Reflection.Assembly]::LoadFile("C:\Program Files (x86)\EWSManagedAPI\Microsoft.Exchange.WebServices.dll")
$obj.GetTypes() | Where-object{$_.isenum -and ($_.ispublic -or $_.isnestedpublic)} | ForEach-Object{
$props = @{Name = $_.FullName}
[enum]::GetValues($_) | ForEach-Object{
$props.Integer = [int64]$_
$props.Text = $_
[pscustomobject]$props
}
}

我在输出中没有看到任何与我在上面看到的内容相匹配的内容。有谁知道这些属性是否存在预先存在的枚举?如果不是那很好。我只是假设那里会有一些东西。

不是世界末日,但我自己找不到它们。可能会解释为什么代码片段一直引用它们。

最佳答案

不,EWS 托管 API 中没有任何内容,而且 AFAIK 没有 Microsoft 维护的主列表。还有不同类型的属性,例如标记和命名属性,要在 EWS 中使用扩展属性,您需要首先定义并告诉 Exchange 返回或设置该属性,因此 EWS 不允许您枚举所有扩展属性MAPI 之类的项目。我所知道的最接近的列表是来自 EWSEditor 的列表,它非常全面 https://ewseditor.codeplex.com/SourceControl/latest#EWSEditor/PropertyInformation/KnownExtendedPropertiesData.cs . Mapi 包含文件也有一个很好的列表,例如 https://github.com/openchange/openchange/blob/master/properties_enum.h (但这些只是标记的属性)。

关于powershell - ExtendedPropertyDefinition ID 是否有公共(public)枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41903415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com