0

如果 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

非常感谢!!

4

2 回答 2

0

目前尚不清楚 vm 文件是在一行中包含所有名称还是在其自己的一行中包含每个名称。前者使用 -match,后者将 -match 替换为 -contains。

$content = Get-Content vm.txt

get-vm | 
where-object { $_.Name -match $content } | 
foreach-object {  'execute this part'}
于 2013-04-24T06:57:55.610 回答
0

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

$vmlist = Get-Content vm.txt

Get-VM | % {
  if ( $vmlist -contains $_.Name ) {
    # execute this part
  } else {
    # execute that part
  }
}
于 2013-04-24T07:06:27.010 回答