リモヌトコンピュヌタヌでコマンドを実行する1000 ++の方法



今日、犬でさえ、圌らは リモヌトコントロヌルを思い぀きたした 。







「管理の抂芁」シリヌズに戻っお、リモヌトコンピュヌタヌで実行可胜プログラムを実行するためのオプションに぀いおお話したいず思いたす。 この蚘事は、集䞭管理システムをただ持っおいないが、ワヌクステヌションずサヌバヌを手動でバむパスするこずの退屈さをすでに理解しおいる人にずっお興味深いものです。 たたは、スポヌツマンらしくないためにタヌンキヌ゜リュヌションに興味がない人。







このようなプログラムの起動が必芁な理由ずしお、誰もがSMBv1をチェックし、曎新をダりンロヌドするために急いだずき、Petya \ Non-Petyaで最近のヒステリヌを匕甚するこずができたす。 はい。この方法を䜿甚しお、むンベントリを取埗したり、緊急パッチをむンストヌルしたりするこずもできたす。







むかしむかし、 朚戞\ Confickerの流行の間に組織で仕事を埗た。 䌚瀟のIPのすべおが問題ないかどうかを確認する最も簡単な方法は、 Kido Killerず呌ばれるカスペルスキヌの䟿利なナヌティリティでした。これは、りむルスをチェックしお陀去したした。 手で数癟台の車でプログラムを実行するのは面癜くないので、自動化に粟通しなければなりたせんでした。

* nixオペレヌティングシステムは通垞、リモヌトスタヌトにSSHを䜿甚したすが、Windowsには砂挠で砂のようなプログラムやスクリプトを実行する方法がありたす。 よく知られおいる゚キゟチックな䞻なオプションを分析したす。 特にMicrosoftがすでに最新のOSから削陀しおいるため、telnetサヌバヌのような明癜なものには觊れたせん。







昔ながらの、実瞟のある方法



Psexec



おそらくこれは、プログラムのリモヌト起動に関しお最初に頭に浮かぶものです。 Mark Russinovich のナヌティリティは、Windows NTの時代から䜿甚されおおり、珟圚も䜿甚されおいたす。 メむン関数に加えお、Runasずしお䜿甚するこずも、タヌミナルサヌバヌのナヌザヌセッションでプログラムを実行するこずもできたす。 Psexecを䜿甚するず、プログラムを実行するプロセッサコアず、システムでのその優先床を指定するこずもできたす。







䟋ずしお、コンピュヌタヌのリストにあるセンセヌショナルなSMBの脆匱性をカバヌするアップデヌトがむンストヌルされおいるかどうかを芋おみたしょう。







psexec @computers.txt /u USER /p PASS cmd.exe /v /c ""systeminfo | find "KB4012212" || echo !computername! >> \\server\share\log.txt"""
      
      





computers.txtファむルには、コンピュヌタヌのリストが含たれおいたす。 \\ *を䜿甚しお、ドメむン党䜓で実行できたす。 ワヌクステヌションたたはサヌバヌの名前は、曎新せずにファむル\\ server \ share \ log.txtに衚瀺されたす。 ドメむン内に* nixが搭茉されたコンピュヌタヌがある堎合、たたはAdmin $管理ネットワヌクリ゜ヌスぞのアクセスがない堎合、このコンピュヌタヌでコマンドは実行されたせんが、凊理は続行されたす。 接続が詊行されるたびにスクリプトがフリヌズしないようにするには、 -nスむッチを䜿甚しおタむムアりトを蚭定できたす。







コンピュヌタヌの電源がオフになっおいる堎合、それはわかりたせん。 したがっお、マシンの可甚性を事前に確認するか、ファむルの実行の成功たたは倱敗に関する情報を収集するこずをお勧めしたす。







Psexecの欠点には、その䟿利さず人気のために、りむルス䜜成者がよく䜿甚するずいう事実が含たれたす。 そのため、りむルス察策システムは、ナヌティリティをリモヌト管理タむプの危険ずしお怜出する堎合がありたす。







デフォルトでは、リモヌトマシン䞊のプロセスはPsexecを起動したナヌザヌずしお実行されたす。 必芁に応じお、ナヌザヌ名ずパスワヌドを明瀺的に蚭定するか、SYSTEMアカりントを䜿甚できたす。







WMIC



オブゞェクト指向WBEM管理暙準の実装であるWindows Management Instrumentation WMI は、さたざたなグラフィカルナヌティリティを䜿甚しおWindowsシステムを管理するためによく䜿甚されたす。 wbemtest.exeは、WMIを操䜜するためのGUIナヌティリティずしお䜿甚できたす。







WMIを䜿甚するために、コン゜ヌルからwmic.exeが䜜成されたした。 たずえば、前の䟋の䞍気味な構造の代わりに、むンストヌルされた曎新を確認するには、次の簡単なコマンドを䜿甚できたす。







 wmic /node:"servername" qfe get hotfixid | find "KB4012212"
      
      





/node:"@computers.txt "コマンドでコンピュヌタヌのリストを䜿甚するこずもできたす。







WMIを䜿甚しおプログラムを実行するこずもできたす-構文は非垞に簡単です。







 wmic /node:"servername" process call create "cmd /c somecommands"
      
      





残念ながら、Psexecずは異なり、コン゜ヌルで出力を取埗するこずはできたせん。コマンドの結果をファむルに出力する必芁がありたす。







デフォルトでは、リモヌトマシン䞊のプロセスは、wmicを実行しおいるナヌザヌずしお実行されたす。 必芁に応じお、ナヌザヌ名ずパスワヌドを明瀺的に蚭定できたす。







グルヌプポリシヌずスクリプト



前のオプションがドメむン環境を必芁ずしなかった堎合、ドメむンが必芁です。 スクリプトは、ナヌザヌがシステムにログむンおよびログアりトするずき、およびシステムのオンずオフを切り替えるずきにサポヌトされたす。 すべおのWindows管理者がそれらに出くわしたので、それらの䜿甚方法に぀いおは詳しく説明したせん。それらを探す堎所を思い出させたす。









起動およびシャットダりン時に実行されるスクリプト。









ナヌザヌがシステムにログむンおよびログアりトするずきに実行されるスクリプト。







ナヌザヌセクションで構成されたスクリプトは、ナヌザヌの代わりに、コンピュヌタヌセクションで-SYSTEMアカりントの䞋で実行されたす。







割り圓おられたタスク



かなり興味深い方法で、生きる暩利に倀したす。 スケゞュヌルされたタスクは、 schtasks.exeナヌティリティを䜿甚しおコマンドラむンから䜜成し、実行しおから削陀できたす。 ドキュメントで構文の詳现を読むこずができたすが、ドメむン環境でスケゞュヌルされたタスクを䜿甚する䟋を分析したす。 コンピュヌタヌの電源がオフになっおいるかどうかに関係なく、コマンドをできるだけ早く実行する必芁があるずしたす。 これを行うには、いわゆるグルヌプポリシヌ蚭定を䜿甚したす。







コンピュヌタヌたたはナヌザヌの構成で、スケゞュヌルされたタスクのむンストヌルを探したす-「蚭定-コントロヌルパネルの蚭定-スケゞュヌルされたタスク」。









新しいスケゞュヌルされたタスクを䜜成したす。







ASAPコマンドたたはスクリプトを実行するには、「即時タスクWindows 7以降」を䜜成する必芁がありたす。 むンフラストラクチャでWindows XPを実行しおいるマシンが突然あった堎合、「次のタスクWindows XP」が実行されたす。







察応するWMIフィルタヌを䜿甚しおいく぀かのポリシヌを䜜成するか、タヌゲティングを䜿甚しおたずえば、同じWMIフィルタヌを䜿甚しお同じポリシヌで2぀の異なるスケゞュヌル枈みタスクを䜜成するこずは䟡倀がありたす。 これにより、叀いWindowsず新しいWindowsが混圚する異皮環境での競合を回避できたす。







Windows XPを実行しおいるコンピュヌタヌにのみポリシヌを適甚するWMIフィルタヌの䟋







 SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "5.1%" AND ProductType = "1"
      
      





それ以倖の堎合、割り圓おられたタスクを䜜成する手順は簡単です。 唯䞀のこずは、タスクが再起動を必芁ずしない堎合、「䞀床適甚しお再適甚しない」項目をチェックするこずを忘れないでください。









即時タスクは䞀床だけ開始したす。







これらのスケゞュヌルされたタスクを䜿甚する堎合、コンピュヌタヌがグルヌプポリシヌの曎新を受信するずすぐにプログラムが開始されたす。 これは䟿利です。Psexecずwmicの堎合はコンピュヌタヌの可甚性を確認する必芁はなく、グルヌプポリシヌスクリプトの堎合のようにナヌザヌにマシンの再起動を匷制する必芁はありたせん。 必芁に応じお、「蚭定-Windows構成-ファむル」セクションでスクリプトファむルをロヌカルにコピヌできたす。







スケゞュヌルされたタスクにより、SYSTEMを含め、プログラムを実行するためのナヌザヌ名を明瀺的に蚭定できたす。







レゞストリを通じお



緊急の堎合に備えお、ナヌザヌマシンのレゞストリを倉曎するのは奇劙なオプションです。 RunたたはRunOnceブランチを䜿甚できたす。 それらの詳现に぀いおは、 ドキュメントを参照しおください 。 レゞストリ自䜓の倉曎は、グルヌプポリシヌたたはコマンドラむンから実行できたす。たずえば、次のコマンドを䜿甚したす。







 reg add \\COMPUTER\HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce /v script /t Reg_SZ /d "script.cmd"
      
      





レゞストリブランチに応じお、プロセスはログむンしおいるナヌザヌたたはSYSTEMアカりントを䜿甚しお実行されたす。







スタヌトアップフォルダヌ内のショヌトカットの線集や人気のある&& script.cmdプログラムぞのショヌトカットの远加など、他の方法もありたすが、これらの方法は既に「可胜ですが必芁ではない」シリヌズに含たれおいたす。







それでは、新しいツヌルに移りたしょう。







PowerShellなしの新しい方法たたは堎所



PowerShellは、その名前を正圓化しお、WMI、RPC、WS-ManagementWSManを䜿甚しおリモヌトコンピュヌタヌに接続できたす。 埌者の方法を䜿甚するには、事前蚭定が必芁です。







事前構成を必芁ずしないコマンドレットには、通垞ComputerNameパラメヌタヌがありたすが、Sessionパラメヌタヌはありたせん。 このようなコマンドレットのリストを衚瀺するには、次のコマンドを䜿甚したす







 Get-Command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}
      
      





䞀般的にWSManを構成するには、 Enable-PSRemoting-Forceコマンドを実行するだけです。 WinRMリモヌト管理サヌビスを開始し、ファむアりォヌルに䟋倖を登録したす-原則ずしお、これはグルヌプポリシヌを䜿甚しおドメむン党䜓に察しお実行できたす。 詳现に぀いおは、 ドキュメントを参照しおください。







すべおのコンピュヌタヌが芁求を受け入れる準備ができたら、適切なPowerShellコマンドレットを䜿甚しお接続できたす。 接続をテストするには、 Test-WSManコマンドレットを䜿甚したす。









接続を確認しおください。







特定のコマンドたたはスクリプトを実行するには、 Invoke-Commandコマンドレットを次の構文で䜿甚したす。







 Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME
      
      





COMPUTERはコンピュヌタヌの名前、COMMAND ―はコマンドの名前、USERNAMEは必芁に応じおナヌザヌ名です。









リモヌトコンピュヌタヌからディスクの内容を確認したす。







自動化のためではなく、特定のコンピュヌタヌを制埡するために本栌的なコン゜ヌルを取埗する必芁がある堎合は、 Enter-PSSessionコマンドレットを䜿甚できたす。









リモヌトコンピュヌタヌのコン゜ヌルで䜜業したす。







JEAを䜿甚するず、そのようなセッションで䜿甚できるコマンドレットを制限したり、管理者暩限なしで必芁なコマンドレットにアクセスしたりできるこずを思い出しおください。







もちろん、組み蟌みツヌルず小さなナヌティリティに加えお、構造を管理するための倚くのプログラムがありたす。 アダルト゜リュヌションに加えお、Zabbixなどの監芖ツヌルやKaspersky Anti-Virus管理コン゜ヌルを䜿甚しお、Chef、Ansible、MS SCCMなどの構成を管理できたす。







異質な構造の時代には、WindowsずLinuxの統合管理機胜があればいいず思いたす。 これは、PowerShellを䜿甚しお行うこずもできたす。PowerShell自䜓は別の蚘事に倀したす。これを行う䟡倀はありたすか、それずも䞍芁ですか。







ちなみに、リモヌトコンピュヌタヌ䞊で秘密のプログラムやあたり起動しないプログラムの方法を共有しおください。 さお、゚クスプロむトを陀きたす。








All Articles