Как сделать ярлык powershell
Я немного потерян. Я хочу сценарий powershell, который создает ссылку, связанную с другим скриптом powershell. Этот ярлык должен иметь возможность запускаться как администратор, и цель должна выглядеть так. Я сделал это вручную, и это работает.
Цель: C:\system32\windowspowershell\v1.0\powershell.exe -executionpolicy bypass -noexit "TARGETPATH\test.ps1"
Это мой код, но аргументы появляются за целевым путем напротив.
Есть ли возможность заменить логотип по умолчанию на конкретный? т.е. один из powershell
Для создания экземпляра COM-объекта нужно указать его программный идентификатор (ProgID) в качестве значения параметра ComObject , например:
Перенаправив созданный объект по конвейеру на командлет Get-Member , можно увидеть список всех свойств и методов, имеющихся в COM-объекте:
Как же теперь воспользоваться методами данного COM-объекта? Для этого удобнее всего сохранить ссылку на объект в переменной, это позволит обращаться к нему в любое время до окончания сеанса работы в PowerShell.
Сохранение объектов в переменных
Оболочка PowerShell поддерживает работу с переменными, которые, по сути, являются именованными объектами. В переменной можно сохранить вывод любой допустимой команды PowerShell. Имена переменных всегда начинаются с знака доллара ( $ ).
Для сохранения в переменной ссылки на COM-объект нужно выполнить следующую команду:
Убедимся, что в переменной $Shell на самом деле хранится экземпляр COM-объекта с программным идентификатором WScript.Shell:
Пример: создание ярлыка на рабочем столе
С помощью COM-объекта WScript.Shell можно быстро создавать ярлыки для папок и файлов. Для примера мы создадим на рабочем столе активного пользователя ярлык PSHome.lnk для папки, в которой установлена оболочка PowerShell.
Сначала создадим экземпляр COM-объекта WScript.Shell и сохраним ссылку на него в переменной $Shell :
У данного объекта имеется метод CreateShortcut , в качестве параметра которого нужно указывать путь к создаваемому ярлыку. Путь к рабочему столу можно определить разными способами, например, с помощью переменной определенной в PowerShell переменной $Home , в которой хранится путь к личной папке активного пользователя:
По умолчанию содержимое рабочего стола хранится в подкаталоге "Рабочий стол" личной папки пользователя, поэтому для создания ярлыка выполним следующую команду:
Здесь нужно учесть, что для получения значения переменной (в нашем случае $Home) ее имя нужно указывать внутри двойных кавычек, а не в одинарных.
Посмотрим, какие свойства и методы имеет объект, сохраненный в переменной $lnk :
Для создания ярлыка на папку достаточно сохранить путь к ней в свойстве TargetPath и вызвать метод Save для сохранения ярлыка. Путь к домашней папке PowerShell хранится в специальной переменной $PSHome , поэтому выполняем следующие команды:
Пример: вывод текста в Microsoft Word
Ранее мы уже рассматривали сценарий WSH на языке VBScript, который управляет приложением Microsoft Word (см. листинг 7.12). Решим аналогичную задачу в PowerShell: запустим из оболочки Microsoft Word и напечатаем в нем строку текста.
Сделать это несложно. Сначала создаем экземпляр главного объекта сервера автоматизации Microsoft Word, который имеет программный идентификатор "Word.Application", и сохраняем ссылку на этот объект в переменной $word ::
Создаем новый документ (метод Add коллекции Documents ) и сохраняем ссылку на документ в переменной $doc :
Делаем окно с новым документом видимым:
Наконец, печатаем строку текста:
Для обращения к статическому классу его имя следует заключить в квадратные скобки, например:
Методы статического класса также называются статическими. Для просмотра статических методов класса нужно передать имя этого класса (в квадратных скобках) по конвейеру командлету Get-Member с параметром Static :
Как мы видим, методы класса System.Math реализуют различные математические функции, их легко распознать по названию.
Для доступа к определенному статическому методу или свойству используются два идущих подряд двоеточия ( : :), а не точка ( .), как в обычных объектах. Например, для вычисления квадратного корня из числа (статического метода Sqrt ) и сохранения результата в переменную используется следующая конструкция:
Я имел в виду ответ номер три этот пост написать сценарий PowerShell, но он не работает.
он только печатает код в области вывода, но никогда не кажется полностью выполнить; ярлык не появляется на рабочем столе.
нужно позвонить Save метод объекта ярлыка для фактического сохранения ярлыка в виде файла.
- все примеры кода вопрос, на который вы ссылаетесь
- KB 244677 как создать ярлык на рабочем столе с хостом сценариев Windows
- Руководство По Созданию Сценариев Microsoft Windows 2000. работа с Ярлыки
Если вы хотите автоматизировать и создать ярлыки, когда вы хотите, вот скрипт, который может помочь вам сделать это.
Среди особенностей и функций, которые мы находим в Windows 10, одним из наиболее часто используемых нами является контекстное меню, которое открывается, когда мы щелкаем правой кнопкой мыши на каком рабочем столе Windows. Отсюда у нас есть ярлыки для других приложений, чтобы работать с ними быстрее и эффективнее. В случае, если мы регулярно используем команду PowerShell, мы можем создать ярлык из этого меню, чтобы получить его быстрее.
Windows PowerShell - это мощный инструмент автоматизации, который является неотъемлемой частью Microsoft операционная система начиная с Windows XP. Он имеет множество полезных и скрытых функций, к которым можно легко получить доступ из контекстного меню, используя возможность открыть здесь PowerShell и изменить его на командную строку, гораздо более ограниченную и устаревшую. Для этого необходимо будет внести некоторые изменения в реестр Windows, как мы увидим ниже.
Различные способы доступа к PowerShell
PowerShell - это утилита командной строки это основано на улучшенной и продвинутой версии традиционной командной строки. Эта утилита позволит нам выполнять различные объединения команд, называемые скриптами, тем самым облегчая создание, настройку и автоматизацию множества задач.
Если мы хотим получить доступ к Windows PowerShell, у нас есть разные способы сделать это, так что это может быть полностью личной задачей.
В дополнение к этим формам, которые обычно являются наиболее распространенными, мы также сможем открыть PowerShell с помощью контекстного меню Windows 10. Хотя это непростой или интуитивно понятный процесс, у нас есть возможность сделать это, внеся изменения в реестр. Таким же образом мы можем удалить его, если не хотим, чтобы он продолжал отображаться в контекстном меню.
Добавить Windows PowerShell в контекстное меню
Как мы уже отмечали ранее, Microsoft не упрощает использование ярлыка PowerShell в контекстном меню, поскольку у него нет интуитивно понятного и простого способа сделать это. Это потребует некоторых изменений в редакторе реестра Windows. Это то, что мы должны делать с большой осторожностью, и выполнять это только в том случае, если у нас есть определенная легкость при перемещении по редактору, поскольку любые неправильные изменения могут повлиять на стабильность системы.
HKEY_CLASSES_ROOT / Directory / Shell
Создайте новый ключ PowerShellDesktop
Создайте новый ключ с именем Command
C: / Windows / system32 / WindowsPowerShell / v1.0 / powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'
Здесь мы должны иметь в виду, что, если наша Windows не установлена на диске C, мы должны соответствующим образом изменить путь. Точно так же, если у нас нет версии PowerShell v1.0, мы должны изменить этот номер на версию, которая у нас есть. Если мы хотим узнать версию PowerShell, мы должны посмотреть на нее в пути. В общем, если мы не решили установить другую версию, это нормально, что у нас есть v1.0.
C: / Windows / system32 / WindowsPowerShell / v1.0
После того, как все данные будут введены, нажмите OK для подтверждения, и изменения должны вступить в силу немедленно. Чтобы проверить это, нам просто нужно щелкнуть правой кнопкой мыши любую папку и выбрать команду Windows PowerShell. Затем окно PowerShell должно немедленно открыться и поместить нас в выбранную папку.
Удалите Windows PowerShell из контекстного меню
HKEY_CLASSES_ROOT / Directory / Shell
Читайте также: