Solved

Powershell strip string

Posted on 2014-03-21
10
324 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 34

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
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 
LVL 34

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 34

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 34

Expert Comment

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

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

Suggested Solutions

HOW TO: Connect to the VMware vSphere Hypervisor 6.5 (ESXi 6.5) using the vSphere (HTML5 Web) Host Client 6.5, and perform a simple configuration task of adding a new VMFS 6 datastore.
This article will show you how to create an ISO CD-ROM/DVD-ROM image (*.iso), and MD5 checksum signature, for use with VMware vSphere Hypervisor 6.5 (ESXi 6.5). It's a good idea to compare checksums, because many installations fail because of a corr…
This tutorial will walk an individual through the steps necessary to enable the VMware\Hyper-V licensed feature of Backup Exec 2012. In addition, how to add a VMware server and configure a backup job. The first step is to acquire the necessary licen…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

777 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