powershell将更新sharepoint托管属性的映射

powershell将更新sharepoint托管属性的映射,powershell,sharepoint,Powershell,Sharepoint,有没有办法从文件中更新托管属性的映射,我认为必须检查已爬网属性是否存在,但是否有更新映射的函数?多谢各位 #$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $ssa -Identity "Account" #$prop =Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $ssa -Name "Basic:11"

有没有办法从文件中更新托管属性的映射,我认为必须检查已爬网属性是否存在,但是否有更新映射的函数?多谢各位

#$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $ssa   -Identity "Account"
#$prop =Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $ssa   -Name "Basic:11"

#$mapping = Get-SPEnterpriseSearchMetadataMapping -SearchApplication $ssa -ManagedProperty "AccountName"

#Set-SPEnterpriseSearchMetadataMapping -Identity $mapping -SearchApplication $ssa  -ManagedProperty "Account" -CrawledProperty $prop
这就是我得到的错误

Set-SPEnterpriseSearchMetadataMapping : Cannot convert 'System.Object[]' 
to the type 
'Microsoft.Office.Server.Search.Cmdlet.MappingPipeBind' required by 
parameter 'Identity'. Specified method is not supported.

看起来您使用的
Get-SpeEnterpriseSearchMetadataMapping
返回一个映射对象数组。试一试

Set-SPEnterpriseSearchMetadataMapping -Identity $mapping[0] -SearchApplication $ssa  -ManagedProperty "Account" -CrawledProperty $prop

谢谢,但是$prop将返回null eve,尽管已爬网的属性存在。知道为什么会发生这种情况吗?可能使用
$prop=Get-SPEnterpriseSearchMetadataCrawledProperty-SearchApplication$ssa-Name“Basic:11”-限制1
无效我使用了此表单,但它不准确,它使用Like,并且并不总是返回已爬网属性的id
$prop=Get-SPEnterpriseSearchMetadataCrawledProperty-SearchApplication$ssa |其中{($.name,如“*$nameofcrawledprop*”)}