使用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'