我试图通过微软生态系统元数据交换产品映射工具附带的PowerShell模块自动创建产品映射。我已经成功地创建了产品和文件映射,输出文件也导入了工具本身。我遇到的问题是通过PowerShell模块将产品添加到产品组。我一直得到错误:Must add the product to the store before adding product groups
与以下脚本:
$path = "C:Program Files (x86)Application"
$outputFilePath = "C:UsersAdamDesktopWERNewProduct.emx"
# Create new product
$product = New-Product -Name "Application" -Version "2.0.0.180" -Lifecycle PreRelease
Add-Product -Product $product
# Scan directory for files
#$files = New-ProductFile $path
# Associate files with product
Add-ProductFile $product -ProductFile $files
# Add product to group
$productGroup = New-ProductGroup -Name "Application" -Version "2"
Add-ProductGroup -ProductGroup $productGroup -Product $product
Export-MetaData $outputFilePath
正如您所看到的,我尝试在创建产品后添加组,但它不起作用。理想情况下,有一些方法可以通过从导出的元数据文件中获取ProductGroups来设置组变量,但是这个PowerShell模块非常有限,只有两个资源可用。什么好主意吗?
我遇到的问题是通过PowerShell模块将产品添加到产品组。
由于错误消息显示您必须首先将产品组添加到商店。创建产品组后,只需添加以下行:
Add-ProductGroup -ProductGroup $productGroup
理想情况下,可以通过从导出的元数据文件中获取ProductGroups来设置groups变量
对于这个问题,下面的命令应该是有用的:
- 的元数据导入
- Set-Metadata
- Merge-Metadata
- Clear-Metadata
- 获取产品
- Get-ProductGroup
。如果您知道要添加新产品的产品组"GroupX"存储在文件元数据中。您可以执行以下操作:
$md = Import-Metadata -Path 'metadata.emx'
Merge-Metadata -Metadata $md #use Set-Metadata if you want to replace the current metadata
$productGroup = Get-ProductGroup -Name 'GroupX'