Windowの安全なデスクトップのスクリーンショットを撮る方法は?


25

デフォルトでは、Windows Vista / 7/8のUACプロンプトは安全なデスクトップに表示されます。残念ながら、Print Screenセキュリティで保護されたデスクトップを表示する場合、キーは効果がないようです。この背後にある理由を見ることができます-ユーザーモードアプリケーションは、セキュリティで保護されたデスクトップのコンテンツをキャプチャできません。

しかし、私の質問は残っています:このデスクトップのスクリーンショットを取得する方法はありますか?


編集:問題を説明すると役立つかもしれません。

現在Windows 8を実行していますが、使用したいDisplayLinkベースの小さなモニターがあります。このドライバーはリリースされたばかりで、安全に動作しますが、安全なデスクトップで動作しません。そこにあるフォーラムにバグレポートを投稿したいので、そのためにはスクリーンショットが必要です。明らかに、問題は標準デスクトップでは現れません-Windows 8はハードウェア仮想化を必要とするため(私にはありません)、VMでWindowsを実行することは不可能であり、とにかくUSBモニターをVMで動作させるのは難しいです。


5
仮想マシンで実行できます。
jdigital

1
@ user8368:VMには表示されない可能性のある特定のハードウェアの問題を示すためにスクリーンショットを取得しようとしているため、これはオプションではありません。また、ライセンスの観点からのオプションではありません。そして最後に、ハードウェア仮想化がないので、全体が非常に難しくなります。
ネイサンオスマン

1
(ローカル)グループポリシーを使用して、セキュリティで保護されたデスクトップを使用しないようにUACプロンプトを設定できます。
-billc.cn

1
@ billc.cn:私は知っていますが、スクリーンショットを取得しようとしている問題は明らかになりません。
ネイサンオスマン

1
@GeorgeEdison:よろしいですか?セキュアデスクトップをオフにしても、UACプロンプトは起動します。ただし、セキュリティで保護されたデスクトップにはないため、他のアプリケーションでスクリーンショットを作成できます。
surfasb

回答:


40

かなり「黒い帽子」の方法を見つけました...

ここに画像の説明を入力してください

セキュリティで保護されたデスクトップでは、アクセシビリティツールはまだ正常に動作します...そこで、FastStone Capture Portableのコピーを使用して、Faststoneディレクトリからsystem32ディレクトリ内に移動しc:\windows\system32、名前osk.exeを変更しosk.exe.old、コピー/名前を変更fscapture.exeしましたosk.exe

次に、UACプロンプトに移動してWin Key+ を押しU、「画面キーボード」オプションをクリックしました。

そして... FastStone Captureが起動しましたが、試用版でした...このモードで使用すると、ライセンスの詳細にアクセスできません。...うまく撮って保存できました...私は自分のデスクトップに保存していると思って、実際に行きましたc:\windows\syswow64\config\systemprofile\desktop...あなたは毎日新しいことを学びます!

上記に基づいて、UACセキュアデスクトップは、独自の資格情報を使用する高度な環境であると常に考えていましたが、実際にはSystemユーザーの下で起動されると思います-したがって、Print Screen実際に動作する可能性がありますが、ユーザー-これを念頭に置いて、Fast Stone Captureの代わりにペイントのコピーを使用する場合、スクリーンショットを撮り、On Screen Keyboardハックからペイントを起動すると、同じように動作する可能性があります!

編集---更新---

ペイントは窓の外です!私の理論をテストしただけでうまくいきませんでした。正確な理由はわかりませんが、上記のスクリーンキャプチャツールと私の方法をほとんど使用すればうまくいくと思います。


3
これは、アクセシビリティツールの非常に巧妙な使用です:)
ネイサンオスマン

2
PaintはUIAccessUIPIでうまくプレイするための許可を求めないのに対し、他のアクセシビリティアプリケーションはそうだと思います。参照UIオートメーションアプリケーションのためのUIAccess以上、ここでの要件について。
ta.speot.is

@ todda.speot.isは興味深く、学ぶのに興味があるので読んでいますが、それ以上のことがあると思います-Faststone Captureがこれを実装しているとは想像できません。デフォルトおよびほとんどのスクリーンキャプチャユーティリティは、デフォルトの動作をオーバーライドするだけです...(MSにはビットを無効にする技術があります。たとえば、MS DRMエンタープライズスイート(本名を忘れる)は、印刷画面やその他の多くの機能を無効にします)。
ウィリアムヒルサム

@WilliamHilsum(以前のコメントを参照):グループポリシーを参照していますか?
bwDraco

Snipping Toolは同じことをするのだろうか?
神の子

19

デジタルカメラを入手して、画面の写真を撮ります。


これも私にも思い浮かびました。エレガントではありませんが、頭痛はずっと少ないです。
提灯

17

しかし、私の質問は残っています:このデスクトップのスクリーンショットを取得する方法はありますか?

SYSTEM適切な場所で実行され、適切な場所にインストールされたプロセスは、UIPIをバイパスしてSecure Desktopにアクセスできます。

これを行う既存のプログラムを活用してください。たとえば、RealVNC(残念ながら無料版ではありません)やUltraVNCなどです。

PCでサーバーを実行し、クライアントを別のコンピューターからサーバーに接続します。クライアントウィンドウのスクリーンショットを撮ります。

おそらくスクリーンの写真を撮るのと同じくらい簡単です。


1
ああ、そうです... VNCで安全なデスクトップを見ることができる別のマシンがあります-私はそれを完全に忘れていました。
ネイサンオスマン

11

さらに良い方法があります。GreenshotProcess Hackerの2つの無料のオープンソースツールを使用すると、次の利点を備えたセキュアデスクトップのスクリーンショットを作成できます

  • いじったり、システムファイルやレジストリの変更は必要ありません
  • コマンドプロンプトに何も入力する必要はありません(マウスユーザーにとっては利点です)
  • 実行が簡単で、最初のセットアップに加えて、はるかに時間がかかりません。始めましょう!

    1. Greenshotをダウンロードして設定を構成し、Print Screenキーを押すと、画面全体の画像がフォルダーに自動保存されるようにします。

    2. Process Hackerをダウンロードします。Process Hackerのメインウィンドウが表示されたら、Greenshotが閉じていることを確認し、[Hacker]および[Run as ...]をクリックします。

    3. 「プログラム」でGreenshotの実行可能ファイルを選択します。「ユーザー名」でリストをクリックし、「NT AUTHORITY \ SYSTEM」を選択します。「タイプ」はサービス、セッションID 1、「デスクトップ」で「WinSta0 \ Winlogon」を選択する必要があります。これは重要!

    4. Greenshotの読み込みが完了したら(短いはずです)、[OK]をクリックし、UACウィンドウを開いてPrintキーを押します。これで、Greenshotの指定したフォルダーにセキュリティで保護されたデスクトップの画像が表示されます。UACスクリーンショットをもう作成する必要がない場合は、Greenshotプロセスを終了します。

楽しむ!いくつかのテストを行った後、これを自分で確認してテストしました。これまでのところ、このソリューションが気に入りませんでした。


5

仮想マシン、vncの使用、または場合によっては厄介または不可能な可能性のあるレジストリまたはシステムファイルの変更以外のオプションを提供します。

最初にスクリーンショットソフトウェアが必要になります。この回答には、無料の7captureを使用しますが、他のソフトウェアでも実行できると考えています。

次に、PsToolsスイートの PsExecが必要になります。このツールを使用すると、システムファイルを変更せずに、WindowsキャプチャデスクトップをWindows Secure Desktop内に配置できます。

次に、7captureをインストールし、PsToolsをいくつかのフォルダーに解凍して、以下を実行します。

1)CMDを管理者として開きます。

2)現在のフォルダーをPSToolsが抽出されたフォルダーに設定します。 cd path_to\PSTools

3)次のコマンドを使用して、Windows Secure Desktop内で7captureを開始します。 PsExec /h /x /d /s "path_to\7capture.exe"

どこで:

-h:ターゲットシステムがVista以降の場合、アカウントの昇格されたトークン(使用可能な場合)を使用してプロセスを実行します。

-x:Winlogonの安全なデスクトップにUIを表示します(ローカルシステムのみ)。

-d:プロセスが終了するまで待機しません(非対話型)。

-s:システムアカウントでリモートプロセスを実行します。

4)ショットを撮りたいWindows Secure Desktopを開きます。(UACプロンプト、Ctrl + Alt + Del画面など)

5)Ctrl + PrintScreenを使用して1つのウィンドウのみのショットを取得するか、PrintScreenを使用して画面全体のショットを取得します。

6)Alt + Tabを使用して、7captureに切り替えます。

7)必要な場所にファイルを保存するだけです。(フルスクリーン画像に問題がある場合は、BMPとして保存してください)

そして、ここで私のWindows 7(ブラジルのポルトガル語)で結果を見ることができます:

UACプロンプトウィンドウ UACプロンプトフルスクリーン


ログインしているユーザーがいない場合、このメソッドは機能しません。
and31415

2

TeamViewerをPCにインストールし、PCを再起動すると、teamviewerはUACプロンプトにアクセスできるようになります。teamviewerを使用している別のPCから、teamviewerが表示されているがフォーカスがないときにデスクトップ全体のスクリーンショットを作成でき、UACプロンプトのスクリーンショットが表示されます。


2

別のオプションは、autoitscriptを使用することです(autoitscript.comから)

Windows GUIと一般的なスクリプトを自動化するために設計された、フリーウェアのBASICに似たスクリプト言語です。シミュレートされたキーストローク、マウスの動き、およびウィンドウ/コントロール操作の組み合わせを使用します。

send()関数を使用すると、printscreenキー押下をシミュレートできます。サイトの例から取得https://www.autoitscript.com/autoit3/docs/functions/Send.htm

Example()

     Func Example()
          Send("{PRINTSCREEN}")
     EndFunc

ここに行くhttp://www.autoitscript.com/site/autoit/downloads/それをダウンロードします。

私は自分でこの解決策を試したことはありませんが、問題を解決するためにハックする必要があることを考えると、かなりまともです。

試してみる。私が助けてくれたことを願っています。


2

どこでもスクリーンショットを撮る

セキュリティで保護されたデスクトップは、次のいずれかが発生するとアクティブになります:ユーザーがデスクトップをロックする(Windows + L)、スクリーンセーバーがアクティブになる(ログインしているユーザーがいないとき)、またはデフォルトでユーザーアカウント制御がプロンプトを表示するとき。

出典:XPDMとWDDM

この考えはWilliam Hilsumの答えから借用されていますが、違いがあります。システムファイルを置き換える必要はなく、変更を元に戻すのが簡単です。以下の手順を実行した後、セキュリティで保護されたデスクトップのスクリーンショットを撮る必要があるときはいつでもWin+を押しUます。

使いやすさユーティリティをオーバーライドする

  1. 管理者としてコマンドプロンプトを開きます。
  2. 次のコマンドを入力するか貼り付けてX:\Path\to\file.exe、選択した画面キャプチャツール実行可能ファイルの実際のパスに置き換えます。次にを押しEnterます。

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Utilman.exe" /v "Debugger" /t REG_SZ /d "X:\Path\to\file.exe" /f
    

    ペイントと組み込みのSnipping Toolは使用できません。サードパーティのプログラムに依存する必要があります。作業ツールは例えばあるLightshotGreenshot、およびShareX

変更を元に戻す

  1. 管理者としてコマンドプロンプトを開きます。
  2. 次のコマンドを入力または貼り付けて、を押しEnterます。

    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Utilman.exe" /f
    

1

安全なデスクトップについてはあまり知りませんが、理論的には、Snipping Toolを開いて、その方法でスクリーンショットを撮ることができます。レジストリの編集、ファイル名の変更、なし。これは非常に基本的で簡単な方法です。「Snipping Tool」を検索するか、「Run」(キーボードショートカット:Win + R)を開いて「snippingtool」または「snippingtool.exe」と入力します。

いずれにせよ、それを開き、「フルスクリーンスニップ」モードを使用します。Windows 10では、[モード]ボタンの横にある矢印をクリックして、[フルスクリーンスニペット]を選択します。古いバージョンのWindowsでは、[新規]ボタンの横にある矢印をクリックして、[フルスクリーンスニップ]を選択します。これは自動的にSnipping Toolウィンドウにコピーされ、メモの追加、Snipの保存、またはSnipping Toolウィンドウからのメール送信ができます。詳細については、Microsoftのヘルプページ参照してください。


0

次の手順を使用して、UACのセキュリティで保護されたデスクトップを無効にします。

  1. Windowsキー+ Rキーボードショートカットを使用して、[実行]コマンドを開きます。
  2. gpedit.mscと入力し、[OK]をクリックして、ローカルグループポリシーエディターを開きます。
  3. 次のパスを参照します。

[コンピューターの構成]> [Windowsの設定]> [セキュリティの設定]> [セキュリティオプション]

  1. 右側で、[ユーザーアカウント制御]をダブルクリックします。昇格ポリシーの入力を求められたら、セキュリティで保護されたデスクトップに切り替えます。

ローカルグループポリシーエディター

[無効]オプションを選択します。

ここに画像の説明を入力してください

  1. 適用をクリックします。
  2. OKをクリックします。

その後、昇格したアプリケーションで通常のスクリーン印刷キーを使用できます。


-1

Windows Vista SP2を使用しています。上記のような制限に遭遇したことはありません。私の印刷画面は魅力のように動きます。UAC(U ser A ccount C ontroller)を無効にしない限り、それを取り除くことはできません。これを行うには、を使用しますmsconfig.exe。「UAC設定の無効化」などを参照してください。緑色のショットをインストールするよりも、便利なプログラムだと思います。私はこの方法を簡単に使用しています。


OPは、安全なデスクトップのスクリーンショットを撮りたいと考えています。UACを無効にすると、セキュリティで保護されたデスクトップが無効になりますか?
グローノスタジ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.