Solved

What is wrong with this for loop?

Posted on 2013-01-22
7
481 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
Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

 
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

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Powershell command to find 2FA status on Office365 4 34
Java import explained 4 47
Export list of Exchange Online user's Photo 4 43
Script PowerShell - List KB installed 15 24
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
A brief introduction to what I consider to be the best editor for PowerShell.

732 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