Windows screenshot from console

Скриншот рабочего стола пользователя через PowerShell

Сотрудники службы техподдержки пользователей попросили написать PowerShell скрипт, позволяющий быстро получить скриншот рабочего стола пользователя с удаленного компьютера. При этом сотрудник HelpDesk не должен подключаться к компьютеру пользователя через графические средства удаленной поддержки (SCCM, Remote Assistance, Shadow сессию и т.д.).

Создаем скриншот средствами PowerShell

Сначала разберемся, как из PowerShell сделать скриншот текущего экрана на локальном компьютере. Для получения изображения рабочего стола мы воспользуемся встроенным классом .NET — System.Windows.Forms. У меня получился такой PowerShell скрипт:

$Path = «C:\ps\screenshots»
# Проверяем, что каталог для хранения скриншотов создан, если нет — создаем его
If (!(test-path $path)) <
New-Item -ItemType Directory -Force -Path $path
>
Add-Type -AssemblyName System.Windows.Forms
$screen = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds
# Получаем разрешение экрана
$image = New-Object System.Drawing.Bitmap($screen.Width, $screen.Height)
# Создаем графический объект
$graphic = [System.Drawing.Graphics]::FromImage($image)
$point = New-Object System.Drawing.Point(0, 0)
$graphic.CopyFromScreen($point, $point, $image.Size);
$cursorBounds = New-Object System.Drawing.Rectangle([System.Windows.Forms.Cursor]::Position, [System.Windows.Forms.Cursor]::Current.Size)
# Получаем скриншот экрана
[System.Windows.Forms.Cursors]::Default.Draw($graphic, $cursorBounds)
$screen_file = «$Path\» + $env:computername + «_» + $env:username + «_» + «$((get-date).tostring(‘yyyy.MM.dd-HH.mm.ss’)).png»
# Сохранить скриншот в png файл
$image.Save($screen_file, [System.Drawing.Imaging.ImageFormat]::Png)

Данный скрипт создает каталог для хранения скриншотов, получает текущее разрешение экрана, получает изображения рабочей области и сохраняет его в png файл.

Запустите указанный PowerShell скрипт и проверьте, что в указанном каталоге (можно укажать UNC путь к сетевой папке) появился png файл со скриншотом вашего рабочего стола в момент запуска скрипта. Для удобства имя png файла содержит имя компьютера, пользователя, текущую дату и время.

Если вы хотите использовать вызов данного PS скрипт из сценариев, используйте такую команду (в этом случае вам не придется изменять настройки PowerShell ExecutionPolicy):

powershell.exe -executionpolicy bypass -file c:\ps\PS-Capture-Local-Screen.ps1

Ярлык на данный PowerShell скрипт можно через GPO поместить на рабочие столы всех пользователей домена и привязать горячие клавиши для его вызова. Теперь при появлении какой-то проблемы или ошибки в любом приложении пользователю достаточно нажать назначенную комбинацию клавиш. В результате в сетевой папке HelpDesk появляется скриншот рабочего стола пользователя.

Как получить скриншот рабочего стола с удаленного компьютера из PowerShell?

Следующая задача – нужно через PowerShell получить скриншот рабочего стола пользователя на удаленном компьютере/сервере. Это может быть как отдельный компьютер с Windows 10, так и RDS сервер.

Если вы хотите получить скриншот рабочего стола с RDS сервера (или десктопной Windows , на которой разрешены множественные RDP подключения), сначала нужно получить ID сессии пользователя на удаленном компьютере. В следующем скрипте нужно указать имя удаленного сервера и учетную запись пользователя.

Читайте также:  Что такое windows performance station pro

$ComputerName = «msk-rds1»
$RDUserName = «avivanov»
$quser = (((query user /server:$ComputerName) -replace ‘^>’, ») -replace ‘\s<2,>‘, ‘,’ | ConvertFrom-Csv)
$usersess=$quser | where <$_.USERNAME -like $RDUserName -and $_.STATE -eq "Active">
$usersessID=$usersess.ID

Для удобства нужно сохранить файл с PowerShell скриптом получения скриншота в сетевой каталог. Для этого отредактируйте скрипт PS-Capture-Local-Screen.ps1, измените путь на:

В этот каталог будут сохранятся скриншоты пользователей. Предоставьте права на запись в этот каталог для доменной группы Authenticated Users.

После того, как вы получили ID сессии пользователя, можно удаленно подключиться в его сессию через PsExec и запустить скрипт:

.\PsExec.exe -s -i $usersessID \\$ComputerName powershell.exe -executionpolicy bypass -WindowStyle Hidden -file «\\server1\Screen\PS-Capture-Local-Screen.ps1»

Теперь, сотрудник HelpDesk может запустить этот скрипт со своего компьютера, и в указанном каталоге появится скриншот текущего изображения рабочего стола пользователя удаленного компьютера.

Scrot, создание снимков экрана из консоли

Скриншот — это изображение на котором запечатлен снимок вашего экрана.

В каждом DE имеется своя программа для создания снимков экрана. Scrot как раз одна из таких программ.

Но бывают случаи, когда не хочется устанавливать кучу зависимостей и ksnapshot в легковесную систему с Window Manager.
Также консольная утилита будет полезна для скриптов.

Начнём с установки

Официальный сайт, с которого можно скачать исходные коды.

Первый снимок экрана
Для этого достаточно выполнить

Скриншот будет сохранён в текущей директории, узнать которую можно командой pwd.

Параметры
Первый параметр -d (—delay NUM) позволяет установить задержку, в секундах, перед созданием снимка.
Параметр -c (—count) выводит в консоль обратный отчёт.

Вывод будет таким:

С параметром -s (—select) можно выбрать определённое окно.
А параметр -b (—border) заснимет ещё и обрамление окна.

Задать качество скриншота можно параметром -q (—quality NUM). По умолчанию значение равно 75.

Scrot ещё умеет создавать миниатюры.
Для этого используем параметр -t (—thumb NUM)
В качестве значения NUM принимается число. Расчет производится в процентах от оригинального размера.

Можно явно указать разрешение эскиза:

Вместе с обычным снимком будет лежать файл эскиза %имя-файла%-thumb.png

Последний параметр -e (—exec APP) в качестве значения APP принимается имя команды, которая будет выполнена после создания снимка.
Например вывод имени файла:

Специальные значения

Специальные значения можно использовать для подстановки значений в параметр —exec или имя файла.

Список значений:

  • $f — путь/имя изображения (игнорируется, если используется в имени файла)
  • $m — путь/имя эскиза
  • $n — имя изображения (игнорируется, если используется в имени файла)
  • $s — размер изображения (в байтах) (игнорируется, если используется в имени файла)
  • $p — размер изображения в пикселях
  • $w — ширина изображения
  • $h — высота изображения
  • $t — формат изображения
  • $$ — выводит символ ‘$’
  • \n — перевод строки (игнорируется, если используется в имени файла)

Примеры

Перенос снимка в другую директорию:

Читайте также:  Steam fatal error что делать windows 10 appname cannot run from

Вывод оповещения в KDE:

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Сделайте снимок экрана из командной строки в Windows

Я ищу способ сделать снимок экрана всего экрана из командной строки. Операционная система — Windows. Что-то вроде этого:

8 ответов

Загрузите imagemagick . В комплект включены многие инструменты обработки изображений командной строки. import позволяет захватывать некоторые или все окна и сохранять изображение в файл. Например, чтобы сохранить весь экран в виде jpeg:

Если вы хотите использовать мышь, чтобы щелкнуть внутри окна или выбрать область экрана & сохраните a png, просто используйте:

На этот вопрос уже был дан ответ, но я подумал, что я тоже его выброшу. NirCmd (бесплатное, к сожалению, не с открытым исходным кодом) может отображать скриншоты из командной строки, в в сочетании с многочисленными другими функциями, которые он может выполнять.

Запуск этого из командной строки либо в каталог nircmd.exe, либо если вы скопировали его в папку system32:

делает то, что вы хотите. Вы также можете задержать его следующим образом:

Это будет ждать 2000 миллисекунд (2 секунды), а затем захватить и сохранить снимок экрана.

это можно сделать без внешних инструментов (вам просто нужно установить .NET Framework, который по умолчанию установлен на все, начиная с Vista и выше) — screenCapture.bat . Это самокомпилированная программа на C #, и вы можете сохранить вывод в нескольких форматах и ​​захватить только активное окно или весь экран:

Другие предложения в порядке — вы также можете попробовать MiniCap, который является бесплатным и имеет некоторые другие функции, такие как гибкое именование файлов и некоторые другие режимы захвата: http://www.donationcoder.com/Software/Mouser/MiniCap/index. HTML

(отказ от ответственности: я автор MiniCap).

Вы можете запустить его через командную строку. Вы можете указать, какое окно захватить — например, цельное окно или только текущее /активное окно, — и вы также можете выполнить базовое редактирование, такое как заточка, обрезка или изменение размера изображений.

Скриншот-cmd берет скриншот рабочего стола или любого окна, выбранного название окна. Также можно выбрать прямоугольник для захвата. Результат сохраняется как файл png. (последнее обновление в 2011 году)

Сделайте снимок экрана из командной строки в Windows

Я ищу способ сделать скриншот всего экрана из командной строки. Операционная система Windows. Что-то вроде этого:

Скачать imagemagick . Многие инструменты для работы с изображениями из командной строки включены. Импорт позволяет вам захватить весь экран или часть экрана и сохранить изображение в файл. Например, чтобы сохранить весь экран в формате JPEG:

Если вы хотите использовать мышь, чтобы щелкнуть внутри окна или выбрать область экрана и сохранить файл, просто используйте:

Читайте также:  Windows repair для виндовс 10

На этот вопрос уже дан ответ, но я подумал, что тоже добавлю это. NirCmd (бесплатная, к сожалению, не с открытым исходным кодом) может делать снимки экрана из командной строки в сочетании с многочисленными другими функциями, которые он может выполнять.

Запустите его из командной строки либо в каталоге nircmd.exe, либо, если вы скопировали его в папку system32:

делает то, что вы хотите. Вы также можете отложить это так:

Это будет ждать 2000 миллисекунд (2 секунды), а затем захватить и сохранить скриншот.

это можно сделать без внешних инструментов (вам просто нужно установить .net Framework, который установлен по умолчанию на все, от Vista и выше) — screenCapture.bat . Это самоскомпилированная программа на C #, и вы можете сохранить вывод в нескольких форматах и ​​захватывать только активное окно или весь экран:

Другие предложения хороши — вы также можете попробовать MiniCap, который является бесплатным и имеет некоторые другие функции, такие как гибкое именование файлов и некоторые другие режимы захвата: http://www.donationcoder.com/Software/Mouser/MiniCap/index.html

(отказ от ответственности: я автор MiniCap).

Как сделать скриншот на Windows 7, 8, 10. Встроенная программа о которой многие не догадываются

Я считаю себя уверенным пользователем компьютера, но иногда узнаю вещи, которые вроде лежат на поверхности — однако о них не все знают.

Недавно я например узнал как сделать скриншот на Windows совершенно новым способом от моего коллеги с которым мы вместе обучаемся блоггерскому искусству , причем бесплатно.

Оказывается скриншот на компьютере и на ноутбуке можно сделать не только кнопкой “Prt Sc Sys Rq” на ноутбуке (у меня кстати Windows 8), но и другим встроенным редактором.

Называется этот инструмент “Ножницы”, он есть в версиях Windows 7, 8 и 10.

Чтобы его найти нужно открыть поиск Windows стукнув в верхний правый угол экрана и забить в поисковой строке слово “Ножницы”.

Нажав на иконку скриншотера перед нами откроется вот такое небольшое окно.

Если мы нажмем кнопку “создать”, то наш экран немного помутнеет и после этого нам нужно будет выделить нужный нам фрагмент на экране монитора.

После этого мы можем сохранить нужный нам фрагмент нажав на иконку, которая изображена на рисунке ниже.

Редактор нам будет предлагать сохранить сделанный скриншот в PNG формате, я же рекомендую Вам сохранить его в формате JPEC который Вы можете выбрать вот здесь

Также можно сохранить файл нажав в верхнем левом углу “Файл”, затем “Сохранить как”.

Также после нажатия кнопки “Создать” мы можем выбрать форму скриншота. Это может быть “Произвольная форма”, “прямоугольник”, “Окно” или “Весь экран”.

Есть и “Параметры”, которые Вы можете настроить под себя.

Надеюсь что после прочтения статьи у Вас не останется вопросов о том, как сделать скриншот на Windows

Оцените статью