月別アーカイブ: 2017年7月

公開NTPサーバー

サーバー、ネットワーク機器に限らず、構築時はNTPサーバーを指定する事が多いです。
自身がよく使用する公開NTPサーバーをまとめてみました。

■ NICT(独立行政法人 情報通信研究機構)
ntp.nict.jp(Stratum1)
個人的には、一番信用できるイメージ。よく設定しています。
https://www.nict.go.jp/

■ 国立天文台(水沢観測センター)
s2csntp.miz.nao.ac.jp(Stratum1)
こちらもStratum1であるため、よく設定しています。国内では貴重ですね。
http://www.miz.nao.ac.jp/

■ インターネットマルチフィード(MFEED)
ntp1.jst.mfeed.ad.jp (210.173.160.27)
ntp2.jst.mfeed.ad.jp (210.173.160.57)
ntp3.jst.mfeed.ad.jp (210.173.160.87)
http://www.mfeed.co.jp/

■ NTP POOL PROJECT
0.jp.pool.ntp.org
1.jp.pool.ntp.org
2.jp.pool.ntp.org
3.jp.pool.ntp.org
http://www.pool.ntp.org/ja/

■ Google
time.google.com
https://www.google.co.jp/

■ さくらインターネット
ntp1.sakura.ad.jp
https://www.sakura.ad.jp/

個人的には、(当たり前ですが)国内かつStratumの階層が高いNTPを優先的に設定しています。
大学が公開しているものも多いのですが、設備としてキャパシティが不明なため
設定実績はあまりありません。過去、知らぬ間に不通となっていたこともありました。
企業では契約したプロバイダーが提供している場合が多いので、ネットワークの経路と
冗長性を考えた設定をするべきかと思います。

PowerShellでファイル圧縮

PowerShellのVer5.0以降では、専用のコマンドとしてZip圧縮がサポートされています。
確認してみると、2つのコマンドが確認できます。

  • Compress-Archive(ファイル/フォルダ圧縮)
  • Expand-Archive(ファイル/フォルダ解凍)

<< Compress-Archive >>
ファイル/フォルダの圧縮を実行できます。

Compress-Archive -Path 圧縮元ファイル/フォルダ -DestinationPath 圧縮先指定(ファイル名も可)

試してみたところ、圧縮元が空フォルダである場合は圧縮ファイルは作成されないようです。
1つでも中身があれば正常に圧縮することができました。
ちなみに圧縮元ファイル/フォルダはワイルドカードが使用できる模様です。

Compress-Archive -Path C:\Test\* -DestinationPath C:\ArchiveTest.zip

「-CompressionLevel」オプションを使用することで、圧縮レベルを調整することができるようです。

  • Fastest:圧縮は高速だが、圧縮後のサイズは大きくなる。
  • NoCompression:圧縮はせず、ファイル/フォルダをまとめるだけ。
  • Optimal:(既定)ファイルサイズに応じて自動的に調整する。

圧縮対象が大量にある場合は変化があるかもしれませんが、通常はわざわざ変更する恩恵を受けられないかも・・・。

「-Update」オプションを使用することで、既存zipファイルにファイル/フォルダを追加できます。

Compress-Archive -Path C:\Test2 -Update -DestinationPath C:\ArchiveTest.zip

便利ですが機能上パスワードは設定できず、現在2GBまでのファイルしか圧縮できないようです。
ログローテーションなどに使用する分には十分な機能かと思います。

<< Expand-Archive >>
ファイル/フォルダの展開を実行できます。

Expand-Archive -Path C:\ArchiveTest.zip -DestinationPath C:\ExpandDirectory

こちらは単純に展開するだけですね。
残念ながら、こちらもパスワード付きzipには対応していません。
より高度な機能を使用するなら、専用のアーカイバーをインストールしてしまったほうが良いようです。

Outlook2013でExchangeキャッシュモードを強制

ExchangeとOutlookを使用している環境によっては、キャッシュモード
もしくはオンラインモードをユーザーに対して強制したい場合があります。

  • オンラインモード:
    直接Exchangeのメールボックスデータをクライアントのメモリに読み込んで表示される。
  • キャッシュモード:
    クライアントローカルのOSTファイルにデータがキャッシュされ、サーバーのメールボックス情報は逐次OSTファイルに対して同期される。ユーザーはOSTファイルのメールを表示・編集する。

設定を矯正する場合は、グループポリシーもしくはレジストリで実現可能です。

  • グループポリシーの場合
    ユーザーの構成 > ポリシー > 管理用テンプレート > Microsoft Outlook 2013
    > アカウントの設定 > Exchange > Exchangeキャッシュモード

    「新規および既存のOutlookプロファイルでExchangeキャッシュモードを使用する」
    有効 >> 適用されたクライアントにキャッシュモードを強制
    無効 >> 適用されたクライアントにオンラインモードを強制

  • レジストリの場合
    HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\Outlook\Cached Mode

    値の名前:Enable
    値の種類:REG_DWORD
    値のデータ:(1:キャッシュモードが強制、0:オンラインモードが強制)

グループポリシーの場合は、適用されるとアカウント設定の「Exchange キャッシュモードを使う」がグレーアウトされ、ユーザーではモードの変更ができませんので強制が可能です。
レジストリの場合は、適用されてもグレーアウトされません。初期設定は強制されますが、Outlook起動後はユーザーの手で変更することも可能です。

なお、ローカルに保存されたOSTファイルはモードを強制的に切り替えただけでは削除されません。使用しているOutlookプロファイルに紐付いて削除される形です。

NICの詳細設定をコマンドで変更する

仕事で大量のクライアントの設定変更をする話があったのですが、
いずれのクライアントも仕様でファイル共有が切られていたという事がありました。
幾つか制御の仕方はありますが、今回遭遇したのはNICの設定で制御されていたパターンです。
※ Microsoft ネットワーク用ファイルとプリンター共有のチェックボックスでした

台数も多かったのでなんとかコマンドでできないかと四苦八苦していたのですが、
どうにも標準的なコマンドなどは用意されていないようで。
設定を変更しながらレジストリも追ったのですが、かなり複雑です。
NICの管理IDがわからないと操作できないようなイメージです。

散々悩んだのですが、Technetに対応できるツールがありました!!
さすが、できる人は違う!!

Hyper-V Network VSP Bind (nvspbind)
https://gallery.technet.microsoft.com/Hyper-V-Network-VSP-Bind-cf937850

Hyper-Vやらキーワードが出ていますが、普通のクライアントでも実行できます。
32bitOSにも対応しているため、WinXPやWin7でも実行可能・・・うーん便利です。

実行もコマンドプロンプトからパラメーターを指定してexeを実行するだけと非常に簡単です。
【チェックボックスの有効化】
nvspbind.exe /e NIC名 機能名

【チェックボックスの無効化】
nvspbind.exe /d NIC名 機能名

今回有効化したかった「Microsoft ネットワーク用ファイルとプリンター共有」は
「機能名:ms_server」でした。各チェックボックスに対応した機能名入力が必要です。

注意点としては、NIC名を指定する際にマルチバイト文字に対応していない事。
日本語表記では駄目ですので、あらかじめNIC名を変更しておく必要があります。
【例】
nvspbind.exe /e LocalAreaConnection ms_server

NIC名変更とnvspbindをADスタートアップスクリプトで適用し、無事変更することができました。

PowerShellでCDトレイを開く

読んで字の如く、あくまでお遊び的なコマンドです。
作業用のスクリプトに取り込んでおくと、メディアの置き忘れ防止に良いかも。

(New-Object -com WMPlayer.OCX.7).cdromCollection.Item(0).Eject();

今のところ、試したPCではすべて動きました。

Windowsでダミーファイル作成

インフラの検証をしている際に、よく任意のサイズでダミーファイルが必要になります。
よくコマンドを忘れてしまうのでメモメモ・・・。

fsutil file createnew ファイル名 サイズ

コマンドプロンプトで実行可能です。
サイズ指定はバイト単位のため、1MBのファイルを作成する際はこうなります。

fsutil file createnew C:\test.txt 1048576

ちなみにコマンドはPowerShellでも実行可能です。
PowerShellだとMBやGBなどの単位を解釈してくれるので便利。
さきほどのコマンドもこうなります。

fsutil file createnew C:\test.txt (1MB)

こっちの方が直感的に使用できますね。
まとまった数を作りたい場合はこんな感じで。

# ダミーファイルを作成したい個数
$Count = 100;

for($i = 0;$i -lt $Count;$i++){
    fsutil file createnew "testfile$i" (1MB);
}