Allow remote connections to this computer
をオンにする必要があります。そのため、WinAPIを使用して有効にすることができますか。WinAPIを使用してこのコンピュータにリモート接続を許可する
これは任意の関数で行うことができれば誰でも知っていますか?このため
Allow remote connections to this computer
をオンにする必要があります。そのため、WinAPIを使用して有効にすることができますか。WinAPIを使用してこのコンピュータにリモート接続を許可する
これは任意の関数で行うことができれば誰でも知っていますか?このため
あなたが設定された次のレジストリキーが必要ですラジオボタンが選択されていない場合
HKLM\System\CurrentControlSet\Control\Terminal Server\fDenyTSConnections = 0
HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\UserAuthentication = (IsDlgButtonChecked() == BST_CHECKED)
HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\SecurityLayer = 0 or 1 or 2
あなただけ
HKLM\System\CurrentControlSet\Control\Terminal Server\fDenyTSConnections = 1
を設定する必要はありますが、次のコードで"@FirewallAPI.dll,-28752"
ファイアウォールグループを有効にする必要があります。
HRESULT EnableFirewallRule(PCWSTR cgroup, VARIANT_BOOL enable)
{
if (BSTR group = SysAllocString(cgroup))
{
INetFwPolicy2* pNetFwPolicy2;
HRESULT hr = CoCreateInstance(__uuidof(NetFwPolicy2), 0, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pNetFwPolicy2));
if (!FAILED(hr))
{
hr = pNetFwPolicy2->EnableRuleGroup(NET_FW_PROFILE2_ALL, group, enable);
pNetFwPolicy2->Release();
}
SysFreeString(group);
return hr;
}
else return E_OUTOFMEMORY;
}
EnableFirewallRule(L"@FirewallAPI.dll,-28752", VARIANT_TRUE);
はい、これは正しく文書化されていません。しかし、これに関するいくつかの情報を見つけることができます。
はラジオボタンです(このコンピュータへのリモート接続を許可)選択からのみ依存fDenyTSConnections
(0または1(= 0)!) - あなたはregeditで値を変更することによってそれをテストし、再度開くことができSystem Properties/Remote
ダイアログ
MSND上のいくつかの証拠 - Using Remote Desktop
レジストリ値が1の値が01ことを意味する リモートデスクトップは、システムで有効になっていることを意味するfDenyTSConnections 0の値リモートデスクトップは無効です。後でServer Coreインストールで リモートデスクトップを無効にする場合は、コマンドプロンプトでcscript %windir%\ system32 \ scregedit.wsf/ar 1と入力します。
UserAuthentication
- [0または1]制御ネットワークレベル認証チェックボックス(1が0、チェックする - 未チェック)(再び、あなたはregeditで値を変更することができ、System Properties/Remote
ダイアログを再度開く - またはチェック/これは、このボックスのチェックを外しますそしてregeditで表示)[プロパティ]ペインで
、ここに示すように、ネットワークレベル認証を必要とする ユーザ認証設定とタイプ1の右側にあるボックスをクリックしてください。
SecurityLayer - [0又は1又は2] - 、プロパティペインで
(これは眺めから始める場合)Table 6-1 The SecurityLayer Setting Values
およびファイアウォールの最後を見てタイプC :\ Windows \ system32 \ netsh advfirewall -firewall設定ルールグループ= "リモートデスクトップ"新しい有効=はい
Enabling a Groupでどのように <Group>@FirewallAPI.dll,-28752</Group>
:私たちは今、次を使用し、リモートデスクトップを有効にするために、例えばこのtechnet.microsoft.com
link
を見て、ルール・グループ= "リモートデスクトップ"
を有効にする必要がありますMSDNに存在する例です。私のコードスニペットはこれをベースにしています
私は 'if(BSTR group = SysAllocString(group))'の代わりに 'if(BSTR group = SysAllocString(group))'を使うべきだと思います。 – UltimaWeapon
@UltimaWeapon - はい、もちろんです。私のエラーは、コピー貼り付け時(初期は 'BSTR group = SysAllocString(L" @ FirewallAPI.dll、-28752 "))でした。私はコードを修正する。ありがとうございます – RbMm
これは、実装に依存する詳細に依存する不透明なハッカーのように見えます。 –
これはsysadminタスクです。グループポリシーで実行します。 –
私は知っていますが、私はWindows APIを使用してこれを行うことができるかどうかを知りたかったのです。 –