Windowsサービスを作成する方法
パソコンにログインしているかどうかに関係なく、アプリやスクリプトを実行し続ける必要がある場合があります。おそらく、ホームネットワーク上のページをホストしているポートまたはWebサーバーを監視するためのPowerShellスクリプトです。
重要なのは、コンピューターの電源が入っている限りプロセス、スクリプト、またはプログラムを実行する場合は、Windowsサービスを作成する必要があるということです。
Windowsサービスを作成するには何が必要ですか?
Windows 10でWindowsサービスを作成するには、いくつかの前提条件があります。
- コンピューターでの管理者アクセス
- サービスとして実行するもの(PowerShellスクリプト、プログラムなど)
- Non-Sucking Service Manager(NSSM)がインストールされています
吸わないサービスマネージャーとは何ですか?
はい、説明せずにそのような名前を削除することはできません。確かに名前は残念ですが、正確です。 Non-Sucking Service Manager(NSSM)は、信頼性と構成性の両方を備えたWindowsサービスを作成するための最も簡単な方法です。さらに、無料のオープンソースソフトウェア(OSS)です。
NSSMは、Windowsコマンドプロンプトまたはグラフィカルユーザーインターフェイス(GUI)を介して使用できます。これは、誰でも使用できることを意味します。 NSSMは、Windows2000に戻るすべてのバージョンのWindowsで使用できます。32ビットバージョンと64ビットバージョンがあります。 64ビットコンピューターを使用している場合は、最初にそのバージョンを試してください。動作しない場合は、32ビットバージョンにフォールバックします。
NSSMはWebサイトからダウンロードするか、GitからNSSMのクローンを作成するか、Chocolateyを使用してNSSMをインストールできます。 ChocolateyはWindows用のパッケージマネージャーです。インストール方法は、使用するルートによって異なります。 NSSMの指示を参照してください。この例では、NSSM Webサイトからダウンロードして、 C:\ WINDOWS \ system32にインストールしています。 。
NSSMを使用してWindowsサービスを作成する
この例では、PowerShellスクリプトからサービスを作成して、CPUの平均負荷率をログに記録します。
- このスクリプトをコピーしてlog-CPULoadPercentage.ps1として保存します 他の人がアクセスする可能性が低い場所に移動します。ディレクトリC:/ Scriptsを作成してみてください そこに保管します。また、スクリプトにログというフォルダを作成します 。スクリプトへのパスはC:/Scripts/log-CPULoadPercentage.ps1であることに注意してください。 。後で必要になります。
注 :以下のすべての行の後に#記号が続くのはコメントであり、スクリプトには影響しません。
CLS #Optional. I like to use this to clear the terminal when testing. #Make sure you have a folder called Logs in the same directory as this script #The log is where the records will be stored. Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append #While loop keeps it running until manually stopped While ($True){ #Creates a timestamp to know when the measurement was taken $timeStamp = get-date -f yyyy-MM-h:mm:ss #Gets the average load percentage at that time, then waits 5 seconds to do it again. $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5 #Isolates just the average so there isn't a weird @{Average=13} string $cpuLoadPercent = $cpuLoadPercent.Average #writes results to screen, or in this case to the log Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent" } Stop-Transcript
- これは、Windowsコマンドプロンプトのいずれかで実行できます。 またはPowerShell。 管理者として開きます。
- コマンドnssminstall logCPUAvgを入力します そしてそれを実行します。 NSSMサービスインストーラー ウィンドウが開きます。
- パス:の横にある省略記号ボタンをクリックします フィールドで、 powershell.exeに移動します これは通常、 C:\ Windows \ System32 \にあります 。 powershell.exeを選択します。 パス: およびスタートアップディレクトリ: フィールドは自動的に入力されます。
- 引数に次のように入力します: フィールド: -ExecutionPolicy Bypass -NoProfile -File“ C:\ PathToScript \ get-Script.ps1” 、ここで、最後の部分はPowerShellスクリプトへのパスとスクリプト名です。
- 詳細strong>を選択します タブ。 表示名:に、Windowsサービスマネージャーに表示するサービスの内容を入力します。 分野。次に、説明:に何をするかを入力します 分野。 起動タイプ: 自動として設定できます 、自動(遅延開始) 、手動 、または無効 。この演習では、自動が適しています。
- ログオンを選択します タブ。 このアカウントを選択します :ラジオボタンを押して、サービスを実行するアカウントとパスワードを入力します。サービスを実行するアカウントを選択する必要があります。理想的には、このサービスを実行するためだけにWindowsアカウントを作成します。このアカウントの権限は、サービスが実行する必要があるものだけに制限する必要があります。 ローカルシステムアカウントを選択できます 、ただし、セキュリティ上の理由からお勧めしません。
サービスをカスタマイズするために使用できる他のいくつかのタブがあります。この演習では、これらのタブのデフォルト値で十分です。 サービスのインストールを選択します ボタン。
- サービスがインストールされると、サービス「logCPUAvg」が正常にインストールされたことがわかります。 窓。 OKを選択します それを閉じます。これでインストールは完了です。
- Windowsサービスマネージャーを開きます サービスがそこにあることを確認してください。
- サービスを実行して、確実に実行されるようにします。
- このサービスが実行されていることを確認するには、ファイルエクスプローラーを使用します ログが保存されるはずの場所に移動して、ログが存在するかどうかを確認します。
nssm-check-log.png
NSSMを使用したWindowsサービスの削除
CPU負荷を監視する必要がなくなったので、サービスを廃止したいと思うかもしれません。幸いなことに、NSSMはそれを簡単にします。
- Windowsサービスマネージャー 、サービスを停止します。これを行うには、ログCPU平均負荷を選択します。 次に、ツールバーの四角い停止ボタンを選択するか、サービスを停止します。 左側のリンク。
- Windowsコマンドプロンプトのいずれかを開きます またはPowerShell 管理者として。
- コマンドnssmremove logCPUAvgを入力します コマンドを実行します。
- NSSMは確認を求めます。 はいを選択します 。
- サービスが削除されると、サービス「logCPUAvg」が正常に削除されたことがわかります。 確認。 OKを選択します 完了です。
それで全部です。サービスマネージャーをチェックして、サービスが存在しないことを確認することをお勧めします。それでもサービスが表示される場合は、画面を更新する必要があり、表示されなくなるはずです。
サービスは、常に実行する必要があるアプリやスクリプトを実行したり、失敗した場合に自動的に再起動したり、現在のユーザーとは異なる特権を必要としたりするための優れた方法です。これらすべてを実行するためにアプリやスクリプトが必要ない場合は、代わりにスケジュールされたタスクを使用することを検討してください。
-
Windows 10 リカバリ ディスクの作成方法
このデータ駆動型の世界では、ほとんどすべてがデジタル形式で保存されています。貴重なデータを失うことを考えるだけでも、悪夢にしか思えません。いつマシンに問題が発生するかわかりません。また、失われたデータをすべて回復する必要があります。しかし、何が悪いか知っていますか?システムが故障したときにオペレーティング システムを再インストールできない。 リカバリディスクについて聞いたことがありますか?回復ドライブは、ハードウェア障害が発生した場合やマシンに問題が発生した場合に、Windows を再インストールするのに役立ちます。リカバリ ディスクの使用中にデータを復元することはできませんが、デバイスに
-
Windows 10 でリカバリ パーティションを作成する方法
リカバリ パーティションは、マルウェアの攻撃など、何らかの理由でオペレーティング システムがクラッシュした場合に備えて作成しなければならない最も重要なものです。回復パーティションを使用すると、ファイルとオペレーティング システムを通常の状態に復元し、それらを残した時点から日常のタスクを続行できます。まったく新しい O&O ディスク イメージ ツールは、迅速かつ簡単な手順を使用して、Windows 10 で回復パーティションを作成する方法についてユーザーを支援します。 O&O DiskImage リカバリ パーティション ソフトウェアとは? O&O DiskImage RecoveryPar