Advertisement
Guest User

Untitled

a guest
Sep 18th, 2021
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. # Create a Windows Terminal shortcut
  2. $Shell = New-Object -ComObject Wscript.Shell
  3. $Shortcut = $Shell.CreateShortcut("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\officedeploymenttool.lnk")
  4. $Shortcut.TargetPath = "C:\officedeploymenttool.exe"
  5. $ShortCut.IconLocation = "C:\officedeploymenttool.exe"
  6. $Shortcut.Save()
  7.  
  8. # Extract strings from shell32.dll using its' number
  9. $Signature = @{
  10. Namespace = "WinAPI"
  11. Name = "GetStr"
  12. Language = "CSharp"
  13. MemberDefinition = @"
  14. [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
  15. public static extern IntPtr GetModuleHandle(string lpModuleName);
  16.  
  17. [DllImport("user32.dll", CharSet = CharSet.Auto)]
  18. internal static extern int LoadString(IntPtr hInstance, uint uID, StringBuilder lpBuffer, int nBufferMax);
  19.  
  20. public static string GetString(uint strId)
  21. {
  22. IntPtr intPtr = GetModuleHandle("shell32.dll");
  23. StringBuilder sb = new StringBuilder(255);
  24. LoadString(intPtr, strId, sb, sb.Capacity);
  25. return sb.ToString();
  26. }
  27. "@
  28. }
  29. if (-not ("WinAPI.GetStr" -as [type]))
  30. {
  31. Add-Type @Signature -Using System.Text
  32. }
  33.  
  34. # Extract the localized "Unpin from taskbar" string from shell32.dll (&Закрепить на панели задач)
  35. $LocalizedString = [WinAPI.GetStr]::GetString(5386)
  36.  
  37. # Call the shortcut context menu item
  38. $Shell = (New-Object -ComObject Shell.Application).NameSpace("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
  39. $Shortcut = $Shell.ParseName("officedeploymenttool.lnk")
  40. $Shortcut.Verbs() | Where-Object -FilterScript {$_.Name -eq $LocalizedString} | ForEach-Object -Process {$_.DoIt()}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement