Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Create a Windows Terminal shortcut
- $Shell = New-Object -ComObject Wscript.Shell
- $Shortcut = $Shell.CreateShortcut("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\officedeploymenttool.lnk")
- $Shortcut.TargetPath = "C:\officedeploymenttool.exe"
- $ShortCut.IconLocation = "C:\officedeploymenttool.exe"
- $Shortcut.Save()
- # Extract strings from shell32.dll using its' number
- $Signature = @{
- Namespace = "WinAPI"
- Name = "GetStr"
- Language = "CSharp"
- MemberDefinition = @"
- [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
- public static extern IntPtr GetModuleHandle(string lpModuleName);
- [DllImport("user32.dll", CharSet = CharSet.Auto)]
- internal static extern int LoadString(IntPtr hInstance, uint uID, StringBuilder lpBuffer, int nBufferMax);
- public static string GetString(uint strId)
- {
- IntPtr intPtr = GetModuleHandle("shell32.dll");
- StringBuilder sb = new StringBuilder(255);
- LoadString(intPtr, strId, sb, sb.Capacity);
- return sb.ToString();
- }
- "@
- }
- if (-not ("WinAPI.GetStr" -as [type]))
- {
- Add-Type @Signature -Using System.Text
- }
- # Extract the localized "Unpin from taskbar" string from shell32.dll (&Закрепить на панели задач)
- $LocalizedString = [WinAPI.GetStr]::GetString(5386)
- # Call the shortcut context menu item
- $Shell = (New-Object -ComObject Shell.Application).NameSpace("$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
- $Shortcut = $Shell.ParseName("officedeploymenttool.lnk")
- $Shortcut.Verbs() | Where-Object -FilterScript {$_.Name -eq $LocalizedString} | ForEach-Object -Process {$_.DoIt()}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement