PowerShellでリモートへログインしてリモートデスクトップのON/OFFはできるのか?→できる
ものすごい回りくどい検索結果ばかり出てくるので最短だけ書きますが、Windows7どうし(Home → Premium)で吊るしのPowershellを直接コマンドラインで叩いて、リモート側のリモートデスクトップのOn/Offを行うコマンドは、一行で
(Get-WmiObject win32_TerminalServiceSetting -Namespace root\cimv2\TerminalServices).SetAllowTSConnections(1)
これだけです。参照元はココ。
Namespaceとrootの間はスペースが1つあって、括弧もこのまま。SetAllowTSConnections(1)をSetAllowTSConnections(0)に変えてmstsc.exeで接続するとOKとアウトな結果が確認できると思います。その間にリモート先のリブートすら必要ありません。
おそらくGet-WmiObjectの戻り値を使わないと駄目そうなんですが、たぶんこんな感じのが端折ってあるんだと思います。
http://4sysops.com/archives/enable-remote-desktop-on-remote-computers-with-powershell/
実際使っているのはPowershellではなくてWMIだとか、細かいパラメータはいろいろ意味があるとか本当は大切でしょうけれど、出来る出来ないの話がWindowsのバージョンが多すぎたりコマンドのバージョンも多すぎたりして非常にぼんやりしてしまっているように思います。
そのずっと手前、リモート側のPowershellまで接続するまで辿りつくのにEnter-PSSessionがらみでややこしい認証の設定があった(かもしれない…)のですが、ここでは省略させていただくということでご健闘を祈ります。
(Get-WmiObject win32_TerminalServiceSetting -Namespace root\cimv2\TerminalServices).SetAllowTSConnections(1)
これだけです。参照元はココ。
Namespaceとrootの間はスペースが1つあって、括弧もこのまま。SetAllowTSConnections(1)をSetAllowTSConnections(0)に変えてmstsc.exeで接続するとOKとアウトな結果が確認できると思います。その間にリモート先のリブートすら必要ありません。
http://4sysops.com/archives/enable-remote-desktop-on-remote-computers-with-powershell/
実際使っているのはPowershellではなくてWMIだとか、細かいパラメータはいろいろ意味があるとか本当は大切でしょうけれど、出来る出来ないの話がWindowsのバージョンが多すぎたりコマンドのバージョンも多すぎたりして非常にぼんやりしてしまっているように思います。
そのずっと手前、リモート側のPowershellまで接続するまで辿りつくのにEnter-PSSessionがらみでややこしい認証の設定があった(かもしれない…)のですが、ここでは省略させていただくということでご健闘を祈ります。