Solved

What is wrong with this for loop?

Posted on 2013-01-22
7
479 Views
Last Modified: 2013-06-16
I am trying to find the state a a list of vms with this for loop:

$VM = get-content C:\Users\PowerShell\left_overs.txt

foreach ($PC in $VM) { get-vm }

Open in new window


Instead of giving me the list of the few VMs in the list it gives me everything in vsphere... any ideas why this is not working?
0
Comment
Question by:Thaidog
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 35

Accepted Solution

by:
Joseph Daly earned 500 total points
ID: 38807238
Your not passing the -name parameter to your GET-VM command.

Try this.

$VM = get-content C:\leftovers.txt
foreach ($computer in $VM) {
get-vm -name $computer
}
0
 
LVL 40

Expert Comment

by:Subsun
ID: 38807310
$VM = get-content C:\Users\PowerShell\left_overs.txt
foreach ($PC in $VM) { get-vm $PC}


and

Get-content C:\Users\PowerShell\left_overs.txt | get-vm

Should also work..
0
 

Author Comment

by:Thaidog
ID: 38807358
The first worked - thanks! The second I got an error:

"Cannot process argument transformation parameter 'Datastore'. Strings as pipeline input are not supported."
0
Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

 
LVL 40

Expert Comment

by:Subsun
ID: 38807374
Then Try..
Get-content C:\Users\PowerShell\left_overs.txt | % {get-vm $_}

Open in new window

0
 

Author Comment

by:Thaidog
ID: 38810412
Did not work:

PS C:\Users\> Get-content C:\Users\SkyDrive\PowerShell\left_overs.txt | % {get-vm $_}
Get-VM : 1/23/2013 10:33:23 AM    Get-VM        VM with name 'Server1 on' was not found using the specified filter(
s).
At line:1 char:77
+ Get-content C:\Users\SkyDrive\PowerShell\left_overs.txt | % {get-vm <<<<  $_}
    + CategoryInfo          : ObjectNotFound: (:) [Get-VM], VimException
    + FullyQualifiedErrorId : Core_OutputHelper_WriteNotFoundError,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetVM

Open in new window


(Edit: Redacted - Modulus_Twelve)
(http://www.experts-exchange.com/R_20923.html)
0
 
LVL 40

Expert Comment

by:Subsun
ID: 38810452
It says  VM with name 'Server1 on' was not found

(Edit: Redacted - Modulus_Twelve)
(http://www.experts-exchange.com/R_20923.html)
0
 
LVL 35

Expert Comment

by:Joseph Daly
ID: 38810453
If my solution worked why are you still looking for another answer?
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A procedure for exporting installed hotfix details of remote computers using powershell
A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
The viewer will learn how to dynamically set the form action using jQuery.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question