Alterar argumentos de atalho via script

3

Temos um programa aqui que requer que cada usuário tenha um atalho na área de trabalho que aponte para um arquivo ini. Cada arquivo é exclusivo para o usuário. Recentemente, fizemos uma nova instalação do aplicativo em um servidor separado. Gostaria de poder executar um script nos computadores clientes que examinará o atalho atual, altere o nome do servidor e salve-o no mesmo local.

Eu acho que o powershell será necessário para isso. Algo para o efeito de:

$oldargs = # Pull out the args from the current shortcut using voodoo magic
$args = $oldargs -replace "server1", "server2"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:PUBLIC\Desktop\app.lnk")
$Shortcut.TargetPath = "%ProgramFiles%\appdir\app.exe"
$Shortcut.Arguments = "$args"
$Shortcut.WorkingDirectory = "%ProgramFiles%\appdir"
$Shortcut.IconLocation = "%ProgramFiles%\appdir\pic.ico"
$Shortcut.Save()

Realmente, acabei de perder como puxo os argumentos dos argumentos de atalho atuais.

    
por Justin 07.02.2014 / 20:03

1 resposta

4

Que tal:

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:PUBLIC\Desktop\oldapp.lnk")
$oldargs = $Shortcut.Arguments
$Shortcut = $WshShell.CreateShortcut("$env:PUBLIC\Desktop\newapp.lnk")
$Shortcut.TargetPath = "%ProgramFiles%\appdir\app.exe"
$Shortcut.Arguments = $oldargs -replace "server1", "server2"
$Shortcut.WorkingDirectory = "%ProgramFiles%\appdir"
$Shortcut.IconLocation = "%ProgramFiles%\appdir\pic.ico"
$Shortcut.Save()
    
por 07.02.2014 / 20:33