1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

面倒なWindows Server OS設定を一部自動化してみた

Posted at

本記事の目的

業務でWindows Serverの構築及び設定をすることが多くなってきましたので、一部の設定をGUIでなくPower Shellで実施する方法をまとめます
設定項目は以下となります
・サービス
・役割と機能
・レジストリ

可能な限りコマンドで設定値を変更することで、ミスの削減につながれば良いと思っております
今回実施した環境はWindows Server 2012 となります。

サービス

サービス一覧を取得する場合は、以下のコマンドになります

powershell.
PS> Get-Service 

サービスによっては長くなっていることがあるので、[Format-table]コマンドを併用することで、より見やすくすることができます

powershell.
PS> Get-Service | Format-Table -AutoSize

特定のサービスについては、[-Name]オプションを使用します

powershell.
PS> Get-Service -Name <サービス名> | Format-Table -AutoSize

その他詳細については、以下リンクを参照ください

今回は、AJRouterというサービスのスタートアップの状態を変更してみます

PS C:\Users\Administrator> Get-Service -Name AJRouter

Status   Name               DisplayName
------   ----               -----------
Stopped  AJRouter           AllJoyn Router Service

PS C:\Users\Administrator> Set-Service -Name AJRouter -startupType Manual
PS C:\Users\Administrator> Set-Service -Name AJRouter -startupType Automatic

以下は実際のAJRouterの設定です
上記のコマンドで実施したように、[StartupTpye]がAutomaticに設定されています
スクリーンショット 2022-11-20 13.22.10.png

以下は、[Set-Service -Name AJRouter -startupType Automatic]を実施した後です。
そのため[startupTpye]がAutomaticに設定されています
スクリーンショット 2022-11-20 13.22.51.png

役割と機能

次に[役割と機能]の設定方法を記載します

一覧の取得は以下のコマンドで実施できます

powershell.
PS> Get-WindowsFeature

情報が多いので、インストール済みの役割と機能の名前のみ必要な場合は、以下コマンドで実施可能です

powershell.
PS> Get-WindowsFeature | Where-object {$_.Installed -eq $True} | Format-List DisplayName

役割や機能をインストールする場合は、役割「IIS」のインストロールを例にとると、以下のコマンドで実施可能です
※役割「IIS」の内部名はWeb-Serverです

powershell.
PS> Install-WindowsFeature -Name Web-Server

コマンド実行後は以下のように表示され、「Success」が「True」であるなら、インストールは成功です

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {Common HTTP Features, Default Document, D...

参考

レジストリ

最後にレジストリの設定方法についてまとめます
主なコマンドは三つあります

reg query
reg add
reg delete

今回は「Windows で通常使うプリンターを管理する」という設定を、上記コマンドを使用して設定変更する、というシナリオで進めていきます

スクリーンショット 2022-11-20 21.44.34.png

まずは現状の設定をreg queryコマンドで確認します
コマンドは
reg query “パス” /v “名前”ですので、以下のようになります

powershell.
PS> reg query “HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows” /v “LegacyDefaultPrinterMode”

すると以下のような結果が返ってきます

powershell.
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
    LegacyDefaultPrinterMode    REG_DWORD    0x1

次は実際に値を変えてみます
コマンドは
・reg add “パス” /v “名前” /t “種類” /d “データ” (/f)
で実行可能です
※(/f)をつけることで、ユーザの同意を求めず変更が可能です

powershell.
PS> reg add “HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows” /v LegacyDefaultPrinterMode /t “REG_DWORD” /d “0” /f
The operation completed successfully.

実際にreg queryコマンドで結果を確認すると、確かにデータが変更されていることがわかります

powershell.
PS >reg query “HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows” /v “LegacyDefaultPrinterMode”

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
    LegacyDefaultPrinterMode    REG_DWORD    0x0

終わりに

今回まとめた
・サービス
・役割と機能
・レジストリ

これらは、GUIで設定すると恐ろしく時間がかかり、ミスにもつながります
ミスをしないように注意を払うことは大切ですが、ミスをしない努力をすることよりミスをしない環境を作ることに努めるほうがより確実だと思います

せっかくエンジニアとして働かせてもらっているので、自動化できるところは自動化し、可能な限りヒューマンエラーを減らす努力を、今後とも続けていきたいと思います

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?