通过PowerShell使用MEME将产品添加到产品组

时间:2015-09-14 13:54:21

标签: powershell windows-error-reporting

我正在尝试通过Microsoft Ecosystem Metadata Exchange产品映射工具附带的PowerShell模块自动创建产品映射。我已经设法创建了产品并成功映射了文件,输出文件也可以很好地导入到工具本身。我遇到的问题是通过PowerShell模块将产品添加到产品组。我不断收到错误:Must add the product to the store before adding product groups,其中包含以下脚本:

$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模块非常有限,只有两个可用的主题资源。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

我遇到的问题是通过PowerShell模块将产品添加到产品组。

正如错误消息所示,您必须先将产品组添加到商店。 创建产品组后,只需添加以下行:

Add-ProductGroup -ProductGroup $productGroup
  

理想情况下,通过从导出的元数据文件中获取ProductGroups,可以通过某种方式设置组变量

对于此问题,以下命令应该会有所帮助:

  • 导入的元数据
  • 设置的元数据
  • 合并的元数据
  • 清除的元数据
  • 获取-产品
  • 获取-ProductGroup

E.g。如果您知道要添加新产品的产品组'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'