使用csom clientcontext castto方法的powershell

时间:2014-07-03 02:02:35

标签: powershell sharepoint csom

如何将此c#CSOM放入powershell

TaxonomyField taxonomyField = clientContext.CastTo(field);

我试过了: $ taxonomyField = $ clientContext.CastTo [Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]

但不起作用。

3 个答案:

答案 0 :(得分:9)

整天都花在这上面。希望有人觉得这很有用!它与在powershell中调用通用方法(在函数调用中看到的任何时候)有关。我已将它压缩到一行,因为我喜欢它。

此外,$ global:ctx只是我的客户端上下文对象。

$txField = [Microsoft.SharePoint.Client.ClientContext].GetMethod("CastTo").MakeGenericMethod([Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]).Invoke($global:ctx, $field)

答案 1 :(得分:1)

从代表托管元数据字段的普通SharePoint CSOM字段开始。

$field = [Microsoft.SharePoint.Client.Field]$someFieldFromItemListOrContentType;

直接将该字段用作分类法类型将为空。

$taxonomyField = [Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$field;

TypedObject属性投射到分类字段不会为空。

$taxonomyField = [Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$field.TypedObject;

答案 2 :(得分:0)

[Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$taxonomyField

这有用吗?

我无权访问SharePoint,但这是在PowerShell中进行强制转换的方式。

PS C:\> $taxField = 10
PS C:\> [String]$taxField
10