Reputation: 21
I've got a script that installs a certain BP Program called iLink (Crosslink). The Script works fine and installs Java 6.21 and both Crosslink Components and also installs through DISM .Net 3.5 perfectly.
However, the only drawback is that the web version only works on a admin run internet explorer process. I've got it to create a shortcut on the users desktop but I want the script to change the target of it from: "C:\Program Files\Internet Explorer\iexplore.exe" to runas.exe /user:capeplc\a-bhargate /savecreds "C:\Program Files\Internet Explorer\iexplore.exe"
This is the script I've currently got I just want it to add it to the end or something to change the target of the shortcut:
# ...
$TargetFile = "C:\Program Files\Internet Explorer\iexplore.exe"
$ShortcutFile = "$env:USERPROFILE\desktop\IEadmin.lnk"
$WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Save()
The script outcome is fine, just need the shortcuts target changing to the one mentioned above in bold. Any help would be great!
Upvotes: 1
Views: 4956
Reputation: 440501
As gpunktschmitz points out in a comment on the question, you must:
make runas.exe
the .TargetPath
value
and assign the rest of the command line to the .Arguments
property:
$WScriptShell = New-Object -ComObject 'WScript.Shell'
$ShortcutFile = "$env:USERPROFILE\desktop\IEadmin.lnk"
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = 'runas.exe'
$Shortcut.Arguments =
"/user:capeplc\a-bhargate /savecreds `"C:\Program Files\Internet Explorer\iexplore.exe`"" #` (dummy comment to fix broken syntax highlighting)
$Shortcut.Save()
See the WshShortcut
documentation for an overview of all available properties.
Note the need to `
-escape the embedded double quotes.
Alternatively, with fixed strings such as the one at hand, you could use '...'
(single quotes) as the outer quotes, in which case you needn't escape embedded double quotes.
Conversely, consider use of $env:ProgramFiles
and specifying the username via a variable, in which case you do need "..."
for the outer quoting to ensure that string expansion (interpolation) is performed.
Upvotes: 3