سلام
من می خواستم کامپیوتر های یک شبکه محلی را از طریق سرور (به صورت زمانبندی یا دستی) روشن کنم آیا راهی وجود دارد(سرور Windows 2003 است)
Printable View
سلام
من می خواستم کامپیوتر های یک شبکه محلی را از طریق سرور (به صورت زمانبندی یا دستی) روشن کنم آیا راهی وجود دارد(سرور Windows 2003 است)
بله سخت افزار هایی به نام REBOOT CONTROLLER برای انجام این کار وجود داره که شما میتونید از طریق کنترل پنل و به صورت remote سرورتون رو restart و یا shutdown کنید البته نمونه های دیگه ای هم هست که با استفاده از تلفن میتونید این کار را انجام بدید . معمولا DataCenter های که Dedicated Server ارائه میدند از این switch ها استفاده میکنند و Control panel مربوطه را به کاربر ارائه می دهند .
و اینم لینک دستگاه مربوطه است :
http://www.connectworld.net/computer...te-reboot.html
http://www.remotepowerswitch.com/
http://www.cpscom.com/gprod/sprrc.htm
و اگر هم می خواهید طراحی کنید لینک زیر را ببینید :
http://www.maxim-ic.com/appnotes.cfm...te_number/2036
موفق باشید
با سلام
برنامه HandyCoffee که یک برنامه کافی نت هست این کار را میکنه .
به این صورت که برنامه سرور روی سرور و روی هر کلاینت هم برنامه مربوطه نصب میشود.
در هر وقت که مدیر بخواد میتونه همه کلاینتها را خاموش و وقتی که همه کلاینتها خاموش است همه را روشن کند.
با تشکر
اینگونه نرم افزار ها از خاصیت WakeOnLan مادربورد استفاده میکنند در صورتی که مادربورد شما این قابلیت را پشتیبانی کند میتونید از اینگونه نرم افزار ها استفاده کنید روش عملکرد این نرم افزار ها به شرح زیر است :نقل قول:
رنامه HandyCoffee که یک برنامه کافی نت هست این کار را میکنه .
به این صورت که برنامه سرور روی سرور و روی هر کلاینت هم برنامه مربوطه نصب میشود.
در هر وقت که مدیر بخواد میتونه همه کلاینتها را خاموش و وقتی که همه کلاینتها خاموش است همه را روشن کند.
پکت های ارسالی که در WakeOnLan استفاده می شوند از نوع UDP هستند کهشامل MAC آدرس کارت شبکه کامپیوتر مقصد می باشد . که معمولا MAC آدرس به صورت string در مبنای 16 مشخص می شود به عنوان مثال (00:0D:61:08:22:4A ). که برای ارسال آن تنها نیاز به 6 بایت است و همچنین این پکت نیاز به 6 بایت جهت header و 16 برابر طول اطلاعات جهت مشخص شدن نوع آن که مجموعا برابر با 102 بایت می شود .
این پکت UDP به صورت Broadcast بر روی پورت 9 ارسال می شود همانند 200.0.0.255 . این پکت توسط تمامی کامپیوتر هایی که در شبکه شما وجود دارند دریافت می شود . اما تنها کامپیوتری که MAC آدرس آن با MAC آدرسی که در پکت نوشته شده است یکی باشد روشن می شود .
- 6 بایت اول پکت که مربوط به header آن است بایستی با 0Xff پر شود.
- 6 بایت دوم پکت بایستی برابر با MAC آدرس کامپیوتر مقصد شود .
- و به ترتیب تا انتهای پکت هر 6 بایت بایستی برابر با مقدار MAC آدرس کامپیوتر شود تا انتهای پکت
توجه داشته باشید در صورتی که ترافیک شبکه شما بالا باشد هیچ تضمینی در دریافت این پکت نیست بنابر این شما بایستی این پکت را بیشتر از یک بار ارسال کنید .
موفق باشید .
این هم نمونه کد روش فوق :
import java.io.*;
import java.net.*;
public class TurnOn {
public static final int PORT = 9;
public static void main(String[] args) {
if (args.length != 2) {
System.out.println("Usage: java TurnOn <BroadCast-IP> <Mac address>");
System.out.println("Example: java TurnOn 200.0.0.255 00:0D:53:45:13:B1");
System.out.println("Example: java TurnOn 200.0.0.255 00-0D-53-45-13-B1");
System.exit(1);
}
String ipStr = args[0];
String macStr = args[1];
try {
byte[] macBytes = getMacBytes(macStr);
byte[] bytes = new byte[6 + 16 * macBytes.length];
for (int i = 0; i < 6; i++) {
bytes[i] = (byte) 0xff;
}
for (int i = 6; i < bytes.length; i += macBytes.length) {
System.arraycopy(macBytes, 0, bytes, i, macBytes.length);
}
InetAddress address = InetAddress.getByName(ipStr);
DatagramPacket packet = new DatagramPacket(bytes, bytes.length, address, PORT);
DatagramSocket socket = new DatagramSocket();
socket.send(packet);
socket.close();
System.out.println("packet sent.");
}
catch (Exception e) {
System.out.println("Failed to send packet: + e");
System.exit(1);
}
}
private static byte[] getMacBytes(String macStr) throws IllegalArgumentException {
byte[] bytes = new byte[6];
String[] hex = macStr.split("(\\:|\\-)");
if (hex.length != 6) {
throw new IllegalArgumentException("Invalid MAC address.");
}
try {
for (int i = 0; i < 6; i++) {
bytes[i] = (byte) Integer.parseInt(hex[i], 16);
}
}
catch (NumberFormatException e) {
throw new IllegalArgumentException("Invalid hex digit in MAC address.");
}
return bytes;
}
}
موفق باشید
WakeOnLan چیست
چجوری میشه فعال کرد
فکر کنم یه ویژگی مربوط به کارت شبکه باشه چون تو ویژگی های کارت ها بیشتر دیدم بیان میشه
ممنون میشم توضیح بدین
با تشکر از دوستمون Identifier
تو تاپیک زیر کدشو به زبان سی شارپ گذاشتم
http://www.barnamenevis.org/sh...d.php?t=246057
موفق باشید
دوست عزیز برنامه NetSupport School قویترین برنامه در این زمینه هست البته به نظر بنده شما میتونید با امکانات گسترده ای که این نرم افزار در اختیارتون میذاره اعم از روشن و خاموش کردن کلاینتها قطع تصویر کلاینت ها قفل کلاینت ها و غیره که بنظرم یک نرم افزار عالی در این زمینه هست به خواسته های خودتون برسین. همچنین از این نرم افزار میتونید برای راه اندازی کلاسهای آموزشی استفاده کنید.خدانگهدار
سلام و خسته نباشید
دوستان میشه آموزش شبکه کردن دو ویندوز در یک سیستم به وسیله نرم افزارVMWare آموزش بدید
و ازهمین طریق بشه با نرم افزار remote control conection تحت خود ویندوز ریموت را انجام داد
من تا یه جاهای تست کردم و جواب داده ولی یه جاهای مشکل دارم
خواهش میکنم کمکم کنید با تشکر
منتظرجواب هستم
خواهش میکنم
:گریه::گریه::گریه::گریه::گریه: :گریه::گریه::گریه::گریه: