Tenemos un cliente que migraremos a SharePoint en línea. Actualmente tienen carpetas compartidas en un servidor local.
Los usuarios del dominio han creado accesos directos a ubicaciones dentro de los recursos compartidos.
Necesito una secuencia de comandos de PowerShell que cambie el destino de los accesos directos a una URL para que cuando hagan clic en sus accesos directos para compartir archivos, sean dirigidos a la página en línea de SharePoint (solo una URL) en lugar de a su antigua ubicación compartida.
Tengo una plataforma RMM donde puedo enviar los scripts a todas las PC del dominio para que pueda ser un script a nivel local, pero es necesario especificar los accesos directos en el escritorio. O incluso un acceso directo específico (¿tal vez una variable de nombre de archivo?).
Cualquier ayuda al respecto sería muy apreciada.
Respuesta1
Para manejar archivos .lnk/ShortCut (listar o cambiar), necesitará obtener WindowsScriptHost como ComObject.
Yo empezaría haciendo un inventario de lo que tienes.
## Q:\Test\2019\05\21\SO_1439438.ps1
$OWsh = New-Object -ComObject WScript.Shell
$Desktop = [environment]::GetFolderPath('Desktop')
$DesktopLinks = Get-ChildItem -Path $Desktop *.lnk | ForEach-Object {
$OWsh.CreateShortcut($_.FullName)
}
$DesktopLinks | Out-Gridview
$DesktopLinks | Export-Csv $Desktop\DesktopLinks.csv -NoTYpeInformation
Se puede usar el mismo ComObject para cambiar la configuración, pero necesitarás transformar tu objetivo con una tabla o lo que sea.