Solved

Powershell copy shortcut and point to other server

Posted on 2013-11-27
7
949 Views
Last Modified: 2013-12-03
Hi guys i have the following code below which works great for copying FF to the servers in the txt file. However id like to go one step further and copy the shortcut for the FF.exe to another server. What would be the best way to achieve this.

Thanks in advance.

$servers =Get-Content "C:\Users\Downloads\exchange.txt"

foreach ( $servers1 in $servers ) {

 $copy = Copy-Item -Path C:\FirefoxPortable -Filter *.* -Destination "\\$servers1\c$\it" -Recurse

 }
0
Comment
Question by:cwstad2
  • 4
  • 2
7 Comments
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39682925
$WshShell = New-Object -comObject WScript.Shell
 $Shortcut = $WshShell.CreateShortcut("\path\to\shortcut)
 $Shortcut.TargetPath = "\path\to\target"
 $Shortcut.Save()


HTH,
Dan
0
 
LVL 15

Author Comment

by:cwstad2
ID: 39682955
Hi Dan its a little bit complicated so i will give more details. im copying from server1 for example to london1 which is where the full app will be and the shortcut will be copied to london2 and london3 for example. But there are many other sites for example so would i need 1 txt file with all of the 2 and 3 servers but how will they point to server1 of that site. Each 2 and 3 server has to point to the shortcut on server1 for that site. Hope this makes sense
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39682971
OK, please post a sample of your exchange.txt so I can get an idea of the hierarchical data.
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 15

Author Comment

by:cwstad2
ID: 39682997
for example this is whats in the exchange.txt file. but on each site there is a 2 and 3 server. so the shortcuts would need to be to london2 and london3 for example but ref back to the .exe on london1

london1
newyork1
paris1
0
 
LVL 15

Author Comment

by:cwstad2
ID: 39683558
is this even possible?
0
 
LVL 68

Accepted Solution

by:
Qlemo earned 500 total points
ID: 39683616
You would need to have two columns. One for the copy target and link target, and a second for the list of servers the link should be created on:
server, linksrv
"london1", "london2,london3"
"paris1", "paris2, paris3"

Open in new window

Then you could run
$sh = New-Object -Com WScript.Shell

import-csv C:\Users\Downloads\exchange.txt  | % {
  $target = '\\' + $_.server + '\c$\it\'
  Copy-Item -Path C:\FirefoxPortable -Destination $target -Recurse
  foreach ($srv in $_.linksrv -split ',') {
    $link = $sh.CreateShortcut('\\' + $srv + '\C$\users\Public\Desktop\Firefox.lnk')
    $link.TargetPath = $target + 'firefox.exe'
    $link.Save()
  }
}

Open in new window

0
 
LVL 15

Author Closing Comment

by:cwstad2
ID: 39692455
excellent thanks
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…

758 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now