2017-10-03 15 views
0

powershellに新しいと私は固執しています。Powershellと2つのコンテナからの入力が同じワイルドカードで

私は$TaskSequence.name

$TaskSequence = Get-WmiObject -Namespace "root\SMS\site_$($SiteCode)" -Class SMS_TaskSequencePackage -ComputerName $SiteServer 

$ImagePackage = Get-WmiObject -Namespace "root\SMS\site_$($SiteCode)" -Class SMS_ImagePackage -ComputerName $SiteServer 

出力が

のWindows Server 2012 R2 X64
Windowsの10企業であるWMIを持つすべてSCCM Tasksequneceを取得したい、とイメージ名でそれらを一致しますx64 USMTフルOS
アップグレード1703
Windows 10 Enterprise x64 USMTハードリンク
のWindows 7エンタープライズx64のEN-US
のWindows 10のEnterprise x64の1703 EN-US $ImagePackage.name
のWindows Server 2016

出力は
のWindows Server 2016 x64の
のWindows 10のエンタープライズx64の

です

私はこのforeachループで試してみましたが、このポスト7ヒント、4ヒント、3 Windows 10、1 Windowsサーバー2016

foreach ($TS in $TaskSequence) { 

Get-WmiObject -Namespace "root\SMS\site_$($SiteCode)" -Class SMS_TaskSequencePackage -ComputerName $SiteServer | 
    ForEach-Object{ 
     Get-WmiObject SMS_ImagePackage -Namespace "root\SMS\site_$($SiteCode)" -ComputerName $SiteServer | Where-Object { $_.name -like "*$($TS.Name)*"} 
    } 

} 

答えて

0

EDIT: 質問はここで少し変化した後に新しいコードです:

$SiteCode = "SiteCode" 
$SiteServer = "Server" 
$TaskSequence = (Get-WmiObject -Namespace "root\SMS\site_$($SiteCode)" -Class SMS_TaskSequencePackage -ComputerName $SiteServer) 
$ImagePackage = (Get-WmiObject -Namespace "root\SMS\site_$($SiteCode)" -Class SMS_ImagePackage -ComputerName $SiteServer) 

Foreach($Task in $TaskSequence){ 
    foreach($Image in $ImagePackage){ 
     if($Task.Name -like "*$($Image.Name)*" -or $Image.Name -like "*$($Task.Name)*"){ 
      $Task 
      #I have no idea what you want to do with this object 
     } 
    } 
} 
+0

コメント – user7490700

+0

の上に、私はあなたの問題を理解していない参照してください。あなたは質問 – guiwhatsthat

+0

@ user7490700で質問したことを行う必要がありますし、回答として質問を投稿しないでください – guiwhatsthat

関連する問題