Windows Server のボリュームライセンス
購入したライセンスをアクティベーションする際のポイント
同じOSでもアクティベーションコードはエディション(StanderdとかDatacenterとか)ごとに異なるため適切なコードを入力する必要があります。
エディションのアップグレード
:: 現在のエディションを確認
DISM /online /Get-CurrentEdition
:: アップグレード可能なエディションを確認
DISM /online /Get-TargetEditions
:: エディションのアップグレード
DISM /online /Set-Edition:ServerDataCenter /AcceptEula /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
プロダクトキーの設定
:: 既存のプロダクトキーを削除
slmgr /upk
:: 新しいプロダクトキーを登録
slmgr /ipk
:: 登録したプロダクトキーを認証
slmgr /ato
仮想マシンの自動ライセンス認証
ライセンス認証されたホストOS(Windows Server 2012 R2 Datacenter エディション)のHyper-V上で仮想化されたゲストOS(Windows Server 2012 R2 または Windows Server 2016)はAVMA(Automatic Virtual Machine Activation)の機能を使用してライセンス認証が可能です。
ネットワーク設定
複数台のNTPサーバの登録
:: ActiveDirectorドメイン環境に属していない場合はトリガー設定を削除
sc triggerinfo w32time delete
:: NTPサーバを複数台設定
w32tm /config /syncfromflags:manual /manualpeerlist:"NTPサーバ1 NTPサーバ2",0x8 /update /reliable:yes
:: NTPサーバ設定を同期
w32tm /resync
:: 設定されているNTPサーバを参照
w32tm /query /status
プロキシサーバの設定方法
プロキシサーバの設定方法は以下の2種類があります。
- InternetExploreの設定
- WinHTTP Proxyの設定
InternetExploreの設定
- [インターネットオプション]→[接続]→[LANの設定]
WinHTTP Proxyの設定
:: 設定の確認
netsh winhttp show proxy
:: IEの設定をインポート
netsh winhttp import proxy source=ie
:: 任意の設定
netsh winhttp set proxy proxy-server="192.168.XX.XX:12080"
:: リセット
netsh winhttp reset proxy
業務効率化
バッチファイルの実行時エラーについて
バッチファイルを実行する際、以下のエラーが発生することがあります。
- 内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
想定されるエラーの原因は以下の通りです。
- コマンドに誤りがある
- 各コマンドのPathが通っていない
- 改行コードに誤りがある
改行コードに誤りがある場合、バッチファイルに2バイト文字が含まれると上記のエラーになります。バッチファイルの改行コードを[CRLF]に変更することで解決します。
文字の加工
:: YYYYMMDD形式で出力
:: 変数の戦闘からm番目(mは0から始まる)の文字からn文字だけを取り出すには「%V:~m,n%」とする
echo %date:~0,4%%date:~5,2%%date:~8,2%
:: 日付をYYYY-MM-DD形式で出力([:]を[-]に変更する)
echo %date:/=-%
:: ホスト名と日付を連結する(リダイレクトのファイル名に利用すると便利)
md %computername%_%date:~0,4%%date:~5,2%%date:~8,2%
:: コマンド結果をホスト名_日時.txtに保存する
ipconfig >> "%computername%_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%".txt
:: ファイル名を一括変換(ファイル名の()の中だけを変換)
ren *(20180101-20180301).html *(20181001-20190101).html
ファイル名を先頭4文字に変換
ren *.jpg ????.jpg
現在の時刻でデータ無しのファイルを作成
copy nul %time:~0,2%%time:~3,2%%time:~6,2%.txt
WindowsでLinuxのtouchコマンドを実現するには以下のような方法があります。
- copy nul hoge.txt
- type nul > hoge.txt
EXEファイルの保存場所について
PATH環境変数が設定されているため、各種コマンドはフルパスで入力する必要はありませんが、whereコマンドを使うことでEXEファイルの保存場所を確認することができます。
:: pingコマンドの保存場所
where ping
C:\Windows\System32\PING.EXE
:: copyコマンドの保存場所(見つからない)
where copy
情報: 与えられたパターンのファイルが見つかりませんでした。
:: notepadの保存場所(複数ある場合はPATH環境変数が先の方が実行される)
where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
EXEファイルをダウンロードすることで実行できるコマンド
- mapitoolコマンド
- outlook2016形式(.msg)のメールファイルをテキスト形式(.eml)に変換
- nkfコマンド
- ファイルの文字コードを変換(例:UTF-8形式→Shift-JIS形式)
- gawkコマンド
- テキストの抽出・加工
outlook2016形式のメールファイルをmapitooコマンドでeml形式に変換可能。
ファイルのデフォルト文字コードがUTF-8だったため、nkfコマンドでShift-JISに変換。
インストール済みのプログラム一覧取得
インストール済みのプログラムの一覧は[コントロールパネル]→[プログラムのアンインストール]から確認できますが、以下のコマンドからでも確認可能です。
:: インストール済みのプログラム一覧取得
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName"
DisplayName REG_SZ Google Chrome
DisplayName REG_SZ sakura editor(サクラエディタ)
DisplayName REG_SZ 職印くん32 2.01
SMTPサーバへのメール配送
単体で利用できる便利なコマンド
コマンド | 実行結果 |
---|---|
wmic qfe list | 適応済みパッチリスト表示 |
pushd ファイルサーバパス | カレントフォルダを指定パスに移動 |
popd | pushdで移動後、元のフォルダへ戻る |
certutil -hashfile filename MD5 | ファイルのハッシュ値取得 |
fc file1 file2 | file1とfile2の差異を比較 |
del /q filename | 通常ファイルを強制削除(隠しファイルは削除されない) |
del /q /ah filename del /q /a:h filename | 隠しファイルを強制削除(通常ファイルは削除されない) |
del /q /s filename | 通常ファイルを強制削除(サブフォルダも含め再帰的に削除する) |
del /q /f filename | 読み取り権限の通常ファイルも含め強制削除(隠しファイルは削除されない) |
del /q /f /ah filename del /q /f /a:h filename | 読み取り権限の通常ファイルも含め強制削除(通常ファイルは削除されない) |
dir /a-d dir /a:-d | ファイル名を一覧表示 |
dir /a:d dir /ad | フォルダ名を一覧表示 |
dir /s | ファイル名およびフォルダ名を再帰的に一覧表示 |
rd | フォルダを削除する ※読み取り権限も隠しフォルダも削除 |
attrib | ファイルの属性情報を確認する |
type nul > filename.txt | ファイルを新規作成する |
find "hello" filename.txt | 該当ファイルから文字列を検索する |
コマンド履歴の便利な機能
コマンド | 機能 |
---|---|
F7 | コマンド履歴をポップアップ表示 |
F8 | 先頭が一致したコマンド履歴を表示 |
F9 | [F7]キーによる表示番号でコマンドを指定 |
Alt+F7 | 履歴を削除 |
サービスステータスの一覧取得
[Windows管理ツール]→[サービス]→[サービス(ローカル右クリック)]から一覧のエクスポート(任意のファイル名)で取得する。
または以下のコマンドからでも実行可能。
:: サービスステータスの一覧を取得する
sc query state= all
SERVICE_NAME: AdobeARMservice
DISPLAY_NAME: Adobe Acrobat Update Service
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
ファイル共有
CIFSとNTFSの違い
Windowsのアクセス権限には以下の2種類があります。
- CIFSアクセス権限
- ネットワーク経由でのファイル共有からのファイルアクセス
- NTFSアクセス権限
- ネットワーク経由でのファイル共有およびローカル端末でのファイルアクセス
ローカル端末からファイルにアクセスする場合はCIFSアクセス権限の影響は受けず、NTFSアクセス権限のみが適応されます。一方、ネットワーク経由のリモート端末からアクセスする場合、まずCIFSアクセス権限が適応され、その後、NTFSアクセス権限が適応されます。
ファイル転送
実現方法は多数あるが、主に以下の方法を採用している。
コマンドによる実行
以下の3ステップにより実現する。
- net useコマンドにて接続先の対象フォルダと時端末内の指定ドライブとして共有する
- robocopyコマンドにて対象ファイルを上記で共有した指定ドライブにコピーする
- 再度、net useコマンドにてドライブ共有を削除する
net use F: ¥¥192.168.XXX.XXX¥C$¥test_to password /user:domain¥username
robocopy C:¥test_from F:
net use F: /delete
バッチファイルによる実行
まず、接続先のサーバにてftpサーバを構築する必要がある。
その後、以下の実行ファイルおよびコマンドファイルを作成し、実行ファイルを実行する。
実行ファイル(バッチスクリプトファイル)
ftp -s:ftpcmd.txt
コマンドファイル(テキストファイル)
open 192.168.XX.XX
username
password
put C:¥/test/test.txt
bye
アクティブモードとパッシブモード
FTPでは以下の2種類のプロトコルが利用されます。
- TCP/21ポート…制御用(コントロールコネクション)
- TCP/20ポート…データ転送用(データコネクション)
なお、FTPの転送モードには以下の2種類があります。転送モードの選択はFTPクライアント側から設定します。
- アクティブモード
- クライアント(任意のポート)からサーバー(TCP/21)に対して制御用の接続
- サーバー(TCP/20)からクライアント(任意のポート)に対してデータ転送用の接続
- パッシブモード(PASVモード)
- クライアント(任意のポート)からサーバー(TCP/21)に対して制御用の接続
- クライアント(任意のポート)からサーバー(TCP/20)に対してデータ転送用の接続
制御用の通信は、アクティブモード、パッシブモードともにFTPクライアントからFTPサーバに対して接続しますが、データ転送用の通信は、アクティブモードとパッシブモードで接続元が異なります。
アクティブモードを採用する場合、クライアント側で任意のポート(TCP/1024~)をファイアウォール側の設定で許可する必要があるため、一般的にはパッシブモードが採用されます。
ファイル転送プロトコルの種類
主に以下の4種類があります。
- FTP(File Transfer Protocol)
- 通信内容を平文のまま転送(セキュリティ面で脆弱)
- FTPS(File Transfer Protocol over SSL/TLS)
- 通信内容をSSL/TLSで暗号化して転送
- 暗黙のTLS/SSL暗号化(Implicitモード)
- データ転送ポートにTCP/989、制御ポートにTCP/990を利用
- 明示的なTLS/SSL暗号化(Explicitモード)
- TCP/22ポートを利用
- SFTP(SSH File Transfer Protocol)
- 通信内容をSSHで暗号化して転送(転送速度はSCPより遅い)
- 転送中断時にも再開が可能
- SCPより転送速度が早い
- SCP(Secure Copy Protocol)
- 通信内容をSSHで暗号化して転送(転送速度はSFTPより早い)
- TCP/22ポートを利用
- 転送中断時に再開ができない
データコレクタセットによるリソース監視
パフォーマンスモニターからデータコレクタセットを作成します。
主に以下のリソースを監視対象としますが、個別でカスタマイズしなくても「システムパフォーマンス」テンプレートを活用すれば良いと思います。
データコレクトセットの設定項目とその他に関連する設定は以下の通りです。
- データコレクタセットの作成方法
- SystemPerformance(テンプレートから作成する)
- 対象サーバのシステムパフォーマンスを取得する
- SystemPerformance(テンプレートから作成する)
- プロパティ(停止条件)
- 全体の期間
- パフォーマンスモニターを自動的に停止させる必要がある場合に設定
- 最大サイズ
- パフォーマンスモニターファイルの容量の最大サイズ
- 全体の期間
- データマネージャ
- 最大のフォルダー
- 保存するフォルダーの数、起動中のデータコレクタセットを停止したタイミングで最大のフォルダー数を超過した場合はリソースポリシーの条件に従いフォルダを削除
- リソースポリシー
- フォルダが削除される際「古いものから削除」するか「大きいものから削除」するかを選択
- ルートパスの最大サイズ
- 起動中のデータコレクタセットを停止したタイミングで最大サイズを超過した場合はリソースポリシーの条件に従いフォルダを削除する ※この条件は最大のフォルダー数よりも優先される
- データ管理とレポート生成を有効にする
- html形式でのレポートを生成する
- 最大のフォルダー
- パフォーマンスカウンター
- ログフォーマット
- 保存形式を選択する「CSV形式」「バイナリ形式」などが選択可能
- サンプルの間隔
- データを採取する間隔を指定、期間が短過ぎるとパフォーマンスモニターファイルが大容量になるため注意が必要
- ログフォーマット
- タスクスケジューラによる自動起動
- Microsoft→Windows→PLA→対象データコレクタセット
- 「トリガー」より対象のデータコレクタセットを自動起動するように設定
- Microsoft→Windows→PLA→対象データコレクタセット
- グループポリシーによる自動停止
- Windowsの設定→スクリプト(ログオン/ログオフ)
- データコレクタセットの停止用スクリプトを設定する
- Windowsの設定→スクリプト(ログオン/ログオフ)
- データコレクタセット停止用スクリプト
- logman stop データコレクタセット
- バッチファイル(.bat)形式で作成しグループポリシーによる自動停止にてスクリプトを設定
- logman stop データコレクタセット
また、その他の補足事項として以下のようなものがあります。
- データコレクタセットはOS起動時に自動起動しないためタスクスケジューラによる自動起動設定が必要になる
- OSシャットダウンに伴いデータコレクタセットも強制的に停止するがレポート生成が行われないためグループポリシーによる自動停止処理が必要になる
- ※「コンピューターの構成」の「シャットダウン」時の停止の場合、レポートが正常に作成されないため「ユーザの構成」の「ログオフ」時に自動停止する必要がある
- 「最大のフォルダー」「ルートパスの最大サイズ」などはデータコレクタセットが(起動では無く)停止するタイミングでの基準となるため容量が超過しないように注意が必要
- ※「最大サイズ」はデータコレクタセット起動時に有効となる値なのでパフォーマンスモニターのサイズが容量を超過する心配は無い
- relogコマンドを利用することにより「バイナリ形式」のログを「CSV形式」に変換できる
コンピュータの管理→リモート端末のリソース監視
バックアップ
システムの復元
あらかじめ作成された復元ポイントまでシステムの状態を戻します。
- コントロールパネル→システム→システムの保護→システムの復元
システムの復元ポイントを作成するには以下の手順で実施します。
- システム保護設定を有効(自動作成)
- 作成→システムの保護(手動作成)
WindowsServerバックアップ
コメント