2

如何将此 c# CSOM 放入 powershell

TaxonomyField taxonomyField = clientContext.CastTo(field);

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

但不起作用。

4

3 回答 3

9

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

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

$txField = [Microsoft.SharePoint.Client.ClientContext].GetMethod("CastTo").MakeGenericMethod([Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]).Invoke($global:ctx, $field)
于 2014-07-23T18:41:43.080 回答
2

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

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

将字段直接转换为分类类型将为空。

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

TypedObject属性转换为分类字段不会为空。

$taxonomyField = [Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$field.TypedObject;
于 2018-07-06T15:23:04.370 回答
0
[Microsoft.SharePoint.Client.Taxonomy.TaxonomyField]$taxonomyField

那样有用吗?

我无权访问 SharePoint,但这就是在 PowerShell 中进行投射的方式。

PS C:\> $taxField = 10
PS C:\> [String]$taxField
10
于 2014-07-03T02:16:50.590 回答