これに関して:
Windows RDCを介してすべてのコンピューターをリモートデスクトップに接続できます。ポート3389と、個別のWOLポートを開いて、2つのポートを開いています。
RDPが開いているので(ブロックされる可能性のあるICMP pingを除いて)最善の策は、おそらくポート3389へのTCPソケットを開くことです。これにより、コンピューターがオンラインで完全に起動している(つまり、RDPサービスが実行されている)ことが確認されます。 。
次のように、fsockopenを使用してこれを行うだけです。
function ServiceOnline($ip, $port = 3389) {
$rdp_sock = @fsockopen($ip, $port, null, null, 5); // 5 sec timeout so that it doesn't hang for a whole minute if not available
if (!$rdp_sock) {
return false;
} else {
fclose($rdp_sock);
return true;
}
}
$port
引数を渡すなどして、フォールバックとして別のサービスを利用できる場合にも、このコードを使用できます。