Windows 7 keluar dari tidur ketika saya membuka remote desktop

24

Apakah ada cara untuk membuat mesin Windows 7 keluar dari tidur secara otomatis ketika saya mencoba dan menghubungkannya dengan Remote Desktop?

Opsi hemat daya dari mesin yang ingin saya hubungkan (ditegakkan oleh kebijakan kelompok yang saya percaya) adalah tidur setelah 30 menit, yang berarti saya harus berjalan secara fisik untuk menekan tombol, atau menyalakan Wake-on- yang terpisah. Alat LAN untuk keluar dari mode tidur.

Saya akan senang jika klien Remote Desktop Connection mengirim paket Wake-on-LAN secara otomatis - apakah ini mungkin?

John Sibly
sumber
2
Tidakkah motherboard yang lebih baru memiliki fitur ini?
Dalin Seivewright
@DalinSeivewright Ya mereka lakukan-mesin dev terbaru saya melakukan ini sekarang secara otomatis :)
John Sibly

Jawaban:

13

Anda harus mengirim paket ajaib (Untuk Bangunkan LAN) melalui router Anda. Sulit karena router tidak meneruskan ini secara default, tetapi ada solusi seperti yang ditemukan di sini :

Untuk membangunkan komputer dari Internet, Anda memerlukan koneksi Broadband dengan Router yang terhubung ke Modem yang membuat koneksi Anda tetap hidup (Anda memerlukan Router bahkan jika Anda memiliki IP Statis).

Bangun komputer dari jarak jauh dilakukan dengan mengirimkan paket ajaib melalui Internet menggunakan alamat IP Internet Anda, dan nomor MAC komputer yang ingin Anda bangun.

Jika Anda tidak tahu alamat IP Anda:

Tautan ke: Bagaimana saya menemukan alamat Internet Komputer / Server saya dari lokasi yang jauh.

Anda harus menyiapkan sistem untuk Bangun melalui Internet.

Buka Port pikir Router, dan Perangkat Lunak Firewall (menggunakan nomor port tinggi sehingga tidak akan bertentangan dengan port lain, 5850 adalah contoh yang baik).

Tetapkan port ke IP internal komputer yang ingin Anda WOL (Anda dapat menggunakan port hanya untuk satu komputer).

Dapatkan Utilitas ini yang memungkinkan Anda menentukan port untuk WOL.

Tautan ke: Wake on LAN untuk Windows Graphical User Interface (WOL GUI)

Bawalah salinan GUI WOL, dan tuliskan nomor MAC. Di lokasi terpencil, mulai WOL GUI dan ketik nomor MAC Anda, Ketikkan alamat Internet (IP Internet) di nomor port yang Anda tinggalkan Buka. Klik pada Wake me Up dan itu akan berhasil.

Utilitas:

teks alternatif

Utilitas GUI paket ajaib adalah freeware.


Anda juga dapat menggunakan hotkey untuk membangunkannya bersama dengan versi baris perintah Wake On LAN :

Sintaksnya:

C:\path\to\wolcmd.exe [Mac address] [IP address] [Subnet mask] [port number]

Membuat segalanya lebih mudah:

! w :: Run, C: \ wolcmd.exe 009027a324fe 195.188.159.20 255.255.255.0 8900
  • Alt+ wakan membangunkan komputer jarak jauh

memodifikasi skrip sesuai sehingga jalur menunjuk ke wolcmd.exeexecutable dan MAC, IP, dan subnet sudah benar.

John T
sumber
Hai John - ya ini adalah alat yang saat ini harus saya gunakan jika saya ingin komputer ini tidak tidur. Saya ingin tahu apakah mungkin Remote Desktop melakukannya secara otomatis?
John Sibly
1
Secara native saya tidak tahu cara melakukannya secara otomatis, dan Jika saya menggunakan AutoHotkey untuk membangunkannya secara otomatis ketika Anda membuka desktop jarak jauh, membuka RDC untuk alasan yang berbeda akan tetap membangunkan komputer di rumah Anda yang tidak Anda inginkan, jadi saya mengedit jawaban saya untuk menguraikan cara mengatur hotkey untuk membangunkan komputer jarak jauh Anda.
John T
1
Jawaban John T brilian. Yang bisa saya tambahkan adalah saya membuat jalan pintas di desktop saya dengan: wol -i 192.168.1.61 -p 00: 24: 8C: 1F: 90: 23 wol 00: 24: 8C: 1F: 90: 23 (Can ' t ingat mengapa saya menambahkan dua perintah serupa) Lalu saya menetapkan pintasan combo keyboard misalnya Ctrl + shift + j Bekerja dengan baik untuk mesin desktop. Tetapi berjuang dengan laptop saya nic.
Guy Thomas
Terima kasih atas semua umpan baliknya. Versi baris perintah terlihat sangat menjanjikan - saya pikir solusinya (setidaknya bagi saya) adalah membuat file batch ke: panggil alat baris perintah, tunggu sekitar 5 detik, dan luncurkan "mstsc.exe mycomputer.rdp"
John Sibly
3

Memperbaiki jawaban John Sibly ... jika di windows Anda dapat menghindari kode C # dengan menggunakan cmd "batas waktu" seperti di bawah ini.

ECHO OFF
CLS
WolCmd.exe MAC_OF_NIC IP_ADDR MASK 7
timeout 10
ECHO Starting remote desktop connection
start mstsc.exe mycomputer.rdp

Lihat jawaban ini di StackOverflow untuk opsi lebih lanjut mengenai bagian tidur file .cmd: /programming/4317020/windows-batch-sleep

Dennis
sumber
Perintah yang berguna - Saya harus mengingatnya untuk file batch mendatang :)
John Sibly
2

Remote Desktop tidak memiliki kemampuan bangun jarak jauh bawaan.

Anda mungkin dapat mengkonfigurasi kartu jaringan Anda untuk bangun pada paket apa pun. Namun, ini mungkin tidak akan berfungsi seperti yang Anda maksudkan - karena tidak akan membedakan antara upaya koneksi desktop jarak jauh Anda dan seseorang yang hanya memindai jaringan Anda atau paket laten dari layanan yang Anda gunakan.

Untuk saat ini, Anda mungkin harus menyelesaikan proses dua langkah: 1) bangun komputer dengan satu aplikasi, 2) Sambungkan melalui desktop jarak jauh.

Jason R. Coombs
sumber
2

Menggunakan informasi dari jawaban lain, saya akhirnya membuat folder yang berisi file-file berikut:

connect.bat
mycomputer.rdp (remote desktop connection file)
sleep.exe (a little program to wait a specified number of milliseconds)
wolcmd.exe

Jadi jalankan connect.bat, bangun komputer saya, tunggu 10 detik, dan kemudian buka koneksi desktop jarak jauh ke sana.

connect.bat berisi yang berikut:

ECHO OFF
CLS
WolCmd.exe 0011AA22BB33 10.1.255.255 255.255.0.0 7
ECHO Sleeping...
Sleep.exe 10000
ECHO Starting remote desktop connection
start mstsc.exe mycomputer.rdp

Anda dapat menghasilkan sleep.exe dengan menyimpan sumber di bawah ini sebagai sleep.cs, dan melengkapinya menggunakan kompiler C # yang datang dengan framework .NET:

csc /out:sleep.exe c:\sleep.cs

Sumber untuk sleep.cs

using System;
using System.Threading;

namespace Sleep
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length == 1)
            {
                int period = 0;
                Int32.TryParse(args[0], out period);
                Console.WriteLine("Sleeping for {0} ms", period);
                Thread.Sleep(period);
            }
        }
    }
}
John Sibly
sumber
2

Anda memerlukan adaptor jaringan yang mendukung ARP offload dan pola bangun TCP SYN sebagaimana dinyatakan dalam http://technet.microsoft.com/en-us/library/ee617165%28v=ws.10%29.aspx

Jika fitur-fitur tersebut didukung dan diaktifkan, maka whindos tidak akan memperingatkan Anda tentang kebijakan sleep / hibernate ketika Anda menghidupkan desktop jarak jauh.

czz
sumber
Saya perhatikan ini bekerja pada mesin dev terbaru saya - saya kira inilah alasannya.
John Sibly
1

Ada berbagai jenis alasan terkait dengan pesan kesalahan yang muncul.

Memori tidak cukup

Tutup program Anda yang lain, lalu coba sambungkan lagi. Jika masalah berlanjut, nyalakan kembali komputer Anda, lalu coba sambungkan lagi. Jika Anda masih tidak dapat terhubung, hubungi administrator jaringan Anda atau dukungan teknis. (Untuk informasi lebih lanjut, lihat Mencegah masalah memori rendah.)

Kesalahan jaringan

Pastikan koneksi jaringan Anda berfungsi misalnya dengan mengakses beberapa domain lokal atau global atau jika kabel Ethernet dicolokkan ke adaptor jaringan Anda atau sakelar nirkabel dihidupkan.

Komputer jarak jauh tidak dapat ditemukan

Pastikan Remote Desktop diaktifkan. Periksa apakah komputer jarak jauh berjalan (tidak dalam mode tidur atau hibernasi). Verifikasi nama komputer atau alamat IP-nya dan pastikan Anda mengetiknya dengan benar.

Menghubungkan komputer rumah ke komputer pada domain perusahaan memerlukan langkah menengah untuk memastikan bahwa komputer dapat berkomunikasi misalnya untuk membuat koneksi jaringan pribadi virtual (VPN) ke jaringan perusahaan.

Atau aplikasi lain mungkin menggunakan port yang sama dengan RDP.

Untuk contoh lebih lanjut daripada kasus saya yang paling umum atau untuk detail tentang masing-masing, lihat:

strpeter
sumber