iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: enum WindowStyle { Normal = 4 # стандартный размер окна Maximized = 3 # развернутый вид (максимизировано) Minimized = 7 # свернутое окно (минимизировано) } function New-Shortcut { [CmdletBinding()] param ( # Аргументы командной строки объекта для которого создаётся ярлык [Parameter(ValueFromPipelineByPropertyName)] [string] $Arguments, # Описание объекта [Parameter(ValueFromPipelineByPropertyName)] [string] $Description, # Горячие клавиши для запуска ярлыка [Parameter(ValueFromPipelineByPropertyName)] [string] $Hotkey, # Полное имя иконки для ярлыка [Parameter(ValueFromPipelineByPropertyName)] [ValidateScript( {Test-Path $_} )] [string] $IconLocation, # Полный путь объекта для которого создаётся ярлык [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [ValidateScript( {Test-Path $_} )] [string] $TargetPath, # Путь создаваемого ярлыка [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [string] $ShortcutPath, # Стиль окна объекта запускаемого ярлыком [Parameter(ValueFromPipelineByPropertyName)] [WindowStyle] $WindowStyle, # Рабочая директория для объекта запускаемого ярлыком [Parameter(ValueFromPipelineByPropertyName)] [ValidateScript( {Test-Path $_} )] [string] $WorkingDirectory ) begin { $shell = New-Object -comObject Wscript.Shell } process { $shortcut = $shell.CreateShortcut($ShortcutPath) $shortcut.Arguments = $Arguments $shortcut.Description = $Description $shortcut.Hotkey = $Hotkey $shortcut.TargetPath = $TargetPath $shortcut.WorkingDirectory = $WorkingDirectory if ($WindowStyle) {$shortcut.WindowStyle = $WindowStyle} if ($IconLocation) {$shortcut.IconLocation = $IconLocation} $shortcut.Save() } } <# пример использования $shortcut = [PSCustomObject]@{ TargetPath = "C:\Windows\System32\cmd.exe" ShortcutPath = ".\dir.lnk" Arguments = "/k dir /b" WindowStyle = "Maximized" } $shortcut | New-Shortcut #> |
|