如果VM-Name在vm.txt中,则执行

时间:2013-04-24 06:50:03

标签: powershell

如果vm.txt文件中存在vm-name,则应启动Powershell脚本。 例如:

get-vm | foreach-object -process {
If ($_.Name --matches one of the entries in the .txt File) {
execute this part }
else { execute this part }

vm.txt文件: SERVER01 Server02上 server03

非常感谢!!

2 个答案:

答案 0 :(得分:0)

目前尚不清楚vm文件是否在一行上有所有名称,或者每行都有一个名称。 对于前者使用-match,后者用-contains替换-match。

$content = Get-Content vm.txt

get-vm | 
where-object { $_.Name -match $content } | 
foreach-object {  'execute this part'}

答案 1 :(得分:0)

使用-contains运算符检查名称列表是否包含特定名称:

$vmlist = Get-Content vm.txt

Get-VM | % {
  if ( $vmlist -contains $_.Name ) {
    # execute this part
  } else {
    # execute that part
  }
}