使用MEME通过PowerShell将产品添加到产品组中
问题描述:
我试图通过Microsoft生态系统元数据交换产品映射工具附带的PowerShell模块自动创建产品映射。我已经成功地创建了产品并成功映射了文件,输出文件也很好地导入了工具本身。我遇到的问题是通过PowerShell模块将产品添加到产品组。我不断收到错误:Must add the product to the store before adding product groups
与下面的脚本:使用MEME通过PowerShell将产品添加到产品组中
$path = "C:\Program Files (x86)\Application"
$outputFilePath = "C:\Users\Adam\Desktop\WER\NewProduct.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模块非常有限,只有两个可用的主题资源。有任何想法吗?
答
The problem I'm having is adding the Product to the Product Group through the PowerShell module.
由于错误消息说您必须先将商品组添加到商店。 创建产品组后只需添加以下行:
Add-ProductGroup -ProductGroup $productGroup
Ideally there'd be some way to set a groups variable by getting the ProductGroups from an exported metadata file
对于这个问题,下面的命令应该是有帮助的:
- 导入的元数据
- 集元数据
- Merge-Metadata
- 清零元数据
- 获取,产品
- GET-ProductGroup
例如如果您知道要添加新产品的产品组'GroupX'存储在文件'metadata.emx'中,则可以执行以下操作:
$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'