2015-09-14 142 views
0

我試圖通過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模塊非常有限,只有兩個可用的主題資源。有任何想法嗎?

回答

0

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'