Solved

Powershell strip string

Posted on 2014-03-21
10
338 Views
Last Modified: 2014-03-27
Hi guys,

$server=MPS-EOP-01.qw.ds.qwe.ac.uk


now I need to put this in another variable called VM and exclude the .qw.ds.qwe.ac.uk and add * before the MPS-EOP-01 and a start after it.

how can I do this?

that's the script I am working on:

Add-PSSnapin VMware.VimAutomation.Core
$cred=get-credential
Connect-VIServer 10.2.32.456 –Credential $cred


Get-Content C:\Reboot_Servers.csv| % { if (!(Test-Connection -ComputerName $_ -Quiet))

$vm=get-vm "*" + $_ + "*"
Restart-VM -VM $VM
Start-Sleep -s 300  # this will wait for 5 minutes
   

        }

Open in new window


thank you in advance.
0
Comment
Question by:Kay
  • 6
  • 4
10 Comments
 
LVL 35

Assisted Solution

by:Dan Craciun
Dan Craciun earned 500 total points
ID: 39945100
$vm=get-vm "*" + $_.split(".")[0] + "*"
0
 

Author Comment

by:Kay
ID: 39945207
Excellent Dan!!
0
 

Author Comment

by:Kay
ID: 39949979
Dan what does the [0] mean?
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
LVL 35

Expert Comment

by:Dan Craciun
ID: 39949980
The first element of an array.
0
 

Author Comment

by:Kay
ID: 39950974
what exactly is the first element of an array,

so if the server name is srv01.qw.as.dsl.uk

and we use the $_.split(".")[0]

does the first element mean the srv01???

whats the point of that?
0
 
LVL 35

Accepted Solution

by:
Dan Craciun earned 500 total points
ID: 39950999
split() will create an array of strings.

"srv01.qw.as.dsl.uk".split(".") will create this:
[0] srv01
[1] qw
[2] as
[3] dsl
[4] uk

You pick your element using the number. If you wanted dsl you would use
"srv01.qw.as.dsl.uk".split(".")[3]

What's the point? Answering your question, I guess :)
0
 

Author Comment

by:Kay
ID: 39952746
I am trying to learn powershell :)
0
 

Author Comment

by:Kay
ID: 39953836
Dan why doesn't this code work?

dsquery computer -name *qre* | % {$_.split('"=,)} | % {gwmi -ComputerName $_ win32_operatingsystem} | select name 

Open in new window

0
 

Author Comment

by:Kay
ID: 39953846
my apologies its working now forget the [2] and ' !
dsquery computer -name *qre* | % {$_.split('"=,')[2]} | % {gwmi -ComputerName $_ win32_operatingsystem} | select name 

Open in new window

0
 
LVL 35

Expert Comment

by:Dan Craciun
ID: 39958586
Glad you got it working :)
0

Featured Post

Industry Leaders: 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

Windows 10 came with  a lot of built in applications, Some organisations leave them there, some will control them using GPO's. This Article is useful for those who do not want to have any applications in their image (example:me).
A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
Advanced tutorial on how to run the esxtop command to capture a batch file in csv format in order to export the file and use it for performance analysis. He demonstrates how to download the file using a vSphere web client (or vSphere client) and exp…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

749 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