powershellでCPU情報を取得するアレコレ

[code]
# cpu情報を表示
Get-WmiObject -Class Win32_Processor

# 物理コア数を表示
Get-WmiObject -Class Win32_Processor | Format-List NumberOfCores

# 論理コア数を表示(THH)
Get-WmiObject -Class Win32_Processor | Format-List NumberOfLogicalProcessors
[/code]

と、色々と調べたけど、
[code]
Get-WmiObject -Class Win32_Processor | Format-List NumberOfCores, NumberOfLogicalProcessor
[/code]

が一番すっきりする

コマンドからWindowsFilewallを操作する

上手く動かねないじゃん!と思ってググった備忘録

一般的な事かもしれないけど、書き方のルールは以下の通り

  1. rule= や name=はダブルクォテーションで囲う
  2. profile=で複数プロファイルを指定する時もダブルクォテーションで囲う
  3. 既存のルールには同じ名前でプロファイルが異なる物が多い。
  4. その場合は設定変更の場合は、対象をユニークになるように指定する必要がある。
    netsh advfirewall firewall show rule name=”Windows リモート管理 (HTTP 受信)” dir=in
    → 2つある
    netsh advfirewall firewall show rule name=”Windows リモート管理 (HTTP 受信)” dir=in profile=”domain,private”
    → ユニーク
    netsh advfirewall firewall show rule name=”Windows リモート管理 (HTTP 受信)” dir=in profile=”pblic”
    → ユニーク

  5. 変更の場合は、set name=<対象の名前> <対象をユニークにする条件> new <変更後の設定> と書く
  6. netsh advfirewall firewall set rule name=”Windows リモート管理 (HTTP 受信)” dir=in profile=”domain,private” new profile=any

パフォーマンスカウンタのネットワークのスケール

スケール調整の覚書

グラフ枠のプロパティ/グラフ/垂直スケール の最大値を100から1000に上げる

NetworkInterface/NIC名/Bytes Sent/sec
 ・・・ GigaNicを積んでいる場合、スケールは0.00001 でxxxMB/s
     ※グラフ赤線

NetworkInterface/NIC名/Packet Sent/sec
 ・・・ GigaNicを積んでいる場合、スケールは0.001 でxxxMbps
     ※グラフ黄緑線

perfmon_20160913

windows2012のQoSが効かない場合の注意点

新規にwindows2012サーバーを準備し、WindowsでポリシーベースのQOSを使ってS3へのアップロードスピードを帯域制御する方法をトレースしてみた。

QoSの設定はこの通りだが、「出力方向のスロットル率を指定する」には注意が必要。

検証では200MBbpsに設定を行ったが、物理1Gの回線環境で800MBps以上トラフィックが流れてしまう。
qos_1

qos_2

MSに問い合わせをして調査、検証を行った結果、

windows2012のインストール時点のQoSのバグっぽい事まで突き止める。
(Windowsアップデートしたら動きが改善されているので、どこかでパッチが当たった模様)

Windowsアップデート前: 制限の設定値の10倍が実際の制限値となる。
 ・ QoSを200MBps(204800 KBps)に制限 → トラフィックが200MBps以上
 ・ QoSを 20MBps(20480 KBps) に制限 → トラフィックは200MBps以下になる

Windowsアップデート後: 制限の設定値と同じ値が実際の制限値となる。
 ・ QoSを200MBps(204800 KBps)に制限 → トラフィックが200MBps以下になる

MSからKB番号の返答が来たら追記します。

コマンドラインからSQL Server2012をインストールする

覚書

以下のファイルを、ConfigurationFile.iniという名前で保存する。
[code]
;SQL Server 2012 Configuration File
[OPTIONS]

; INSTALL、UNINSTALL、UPGRADE などのセットアップ ワークフローを指定します。これは必須のパラメーターです。

ACTION="Install"
IACCEPTSQLSERVERLICENSETERMS="True"
; コマンド ライン引数 ENU の詳細なヘルプが定義されていません。

ENU="False"

; ユーザー インターフェイスの動作を制御するパラメーターです。
; 有効な値は Normal (完全な UI の場合)、AutoAdvance (簡易 UI の場合)、および EnableUIOnServerCore (GUI ブロックをバイパスする Server Core セットアップの場合) です。

; UIMODE="NOMAL"

; ユーザー インターフェイスは表示されません。

QUIET="False"

; ユーザー操作はなく、進行状況だけが表示されます。

QUIETSIMPLE="True"

; SQL Server セットアップで更新プログラムを検出して含める必要があるかどうかを指定します。
; 有効な値は、True と False または 1 と 0 です。既定では、SQL Server セットアップには、検出された更新プログラムが含まれます。

UpdateEnabled="True"

; インストール、アンインストール、またはアップグレードを行う機能を指定します。
; 最上位の機能には、SQL、AS、RS、IS、MDS、ツールなどがあります。
; SQL 機能では、データベース エンジン、レプリケーション、フルテキスト、および Data Quality Services (DQS) サーバーがインストールされます。
; ツール機能では、管理ツール、オンライン ブック コンポーネント、SQL Server Data Tools、その他の共有コンポーネントがインストールされます。

FEATURES=SQLENGINE,BIDS,CONN,BC,SDK,SSMS,ADV_SSMS,SNAC_SDK

; SQL Server セットアップが更新プログラムを取得する場所を指定します。
; 有効な値は、"MU" (Microsoft Update を検索)、有効なフォルダー パス、.\MyUpdates のような相対パス、または UNC 共有です。
; 既定では、SQL Server セットアップは Microsoft Update を検索するか、Window Server Update Services を通じて Windows Update サービスを検索します。

UpdateSource="MU"

; コマンド ライン パラメーターの使用方法を表示します

HELP="False"

; 詳細なセットアップ ログをコンソールにパイプすることを指定します。

INDICATEPROGRESS="False"

; セットアップで WOW64 にインストールするよう指定します。このコマンド ライン引数は、IA64 や 32 ビット システム上ではサポートされません。

X86="False"

; 共有コンポーネントのルート インストール ディレクトリを指定します。このディレクトリは、共有コンポーネントのインストール後は変更されません。

INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"

; WOW64 共有コンポーネントのルート インストール ディレクトリを指定します。このディレクトリは、WOW64 共有コンポーネントのインストール後は変更されません。

INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"

; 既定のインスタンスまたは名前付きインスタンスを指定します。既定のインスタンスは、Express 以外のエディションの場合は MSSQLSERVER、Express エディションの場合は SQLExpress です。SQL Server データベース エンジン (SQL)、Analysis Services (AS)、または Reporting Services (RS) のインストール時には、このパラメーターが必須です。

INSTANCENAME="MSSQLSERVER"

; 指定した SQL Server 機能のインスタンス ID を指定してください。SQL Server のディレクトリ構造、レジストリ構造、およびサービス名には、SQL Server インスタンスのインスタンス ID が組み込まれます。

INSTANCEID="MSSQLSERVER"

; SQL Server 機能の使用状況データを収集して Microsoft へ送信できるようにするかどうかを指定します。この機能を有効にするには 1 または True を指定し、無効にするには 0 または False を指定します。

SQMREPORTING="False"

; 今後のリリースの SQL Server の改善のため、Microsoft にエラーを報告できるようにするかどうかを指定します。この機能を有効にするには 1 または True を指定し、無効にするには 0 または False を指定します。

ERRORREPORTING="False"

; インストール ディレクトリを指定します。

INSTANCEDIR="C:\Program Files\Microsoft SQL Server"

; エージェント アカウント名

AGTSVCACCOUNT="gree-rogue\Administrator"
AGTSVCPASSWORD="パスワード"
; インストール後にサービスを自動的に開始します。

AGTSVCSTARTUPTYPE="Automatic"

; CM ブリックの TCP 通信ポート

COMMFABRICPORT="0"

; マトリックスでのプライベート ネットワークの使用方法

COMMFABRICNETWORKLEVEL="0"

; ブリック間の通信を保護する方法

COMMFABRICENCRYPTION="0"

; CM ブリックで使用される TCP ポート

MATRIXCMBRICKCOMMPORT="0"

; SQL Server サービスのスタートアップの種類。

SQLSVCSTARTUPTYPE="Automatic"

; FILESTREAM 機能を有効にするレベル (0、1、2、または 3)。

FILESTREAMLEVEL="0"

; SQL Server Express で RANU を有効にするには、"1" に設定します。

ENABLERANU="False"

; データベース エンジンに使用する Windows 照合順序または SQL 照合順序を指定します。

SQLCOLLATION="Japanese_CI_AS"

; SQL Server サービスのアカウント: ドメイン\ユーザーまたはシステム アカウント。

SQLSVCACCOUNT="administrator"
SQLSVCPASSWORD="パスワード"

; SQL Server のシステム管理者として準備する Windows アカウント。

SQLSYSADMINACCOUNTS="administrator"

; 既定値は Windows 認証です。混合モード認証の場合は "SQL" を使用してください。

SECURITYMODE="SQL"

; データベース エンジンのバックアップ ファイルの既定のディレクトリ。

SQLBACKUPDIR="C:\database\backup"

; データベース エンジンのユーザー データベースの既定のディレクトリ。

SQLUSERDBDIR="F:\database\db"

; データベース エンジンのユーザー データベース ログの既定のディレクトリ。

SQLUSERDBLOGDIR="C:\database\log"

; データベース エンジンの TempDB ファイルのディレクトリ。

SQLTEMPDBDIR="F:\database\db"

; データベース エンジンの TempDB ログ ファイルのディレクトリ。

SQLTEMPDBLOGDIR="F:\database\tmp"

; 現在のユーザーを SQL Server 2012 Express のデータベース エンジン システム管理者として準備します。

ADDCURRENTUSERASSQLADMIN="False"

; TCP/IP プロトコルを無効にするには 0 を、有効にするには 1 を指定します。

TCPENABLED="1"

; Named Pipes プロトコルを無効にするには 0 を、有効にするには 1 を指定します。

NPENABLED="0"

; Browser サービスのスタートアップの種類。

BROWSERSVCSTARTUPTYPE="Disabled"

[/code]

コマンドプロンプトを開き、
[code]
インストールメディア内setup.exe /SAPWD="SQL認証時のsaのパスワード" /ConfigurationFile="保存したConfigurationFile.ini"
[/code]

WindowsOSのカスタムセットアップスクリプトを作る

以前windows用カスタムインストールメディアを作成するで、
OSインストール後に、アプリケーションをインストールをしたい場合の設定を調べたので記載。

動きとしては、

  • OSインストール時に、インストールメディアのPATH\sources\$OEM$\$$\setupが、%windir%\Setup\に展開される。
  • インストール後、%windir%\Setup\scripts/SetupComplete.cmdが実行される。
  • 注意点としては、

  • 再起動を伴うインストール、設定は最後に1つのみやる
  • この後にユーザープロファイルが作成される為、C:\Users\Administrator\Desktopにファイルを置くなどは行わない
  • ボタンを押すなどのGUI操作が必要な処理は行えない(サイレントインストールが出来れば行ける)
  • 会社のOSはWindowsServer2008R2なので、SetupComplete.cmdに以下の処理を追記。

    [code]
    # ログイン後のセットアップに使うスクリプト群をC:直下に配置
    xcopy %windir%\Setup\scripts\custum_setup C:\setup\ /Y 

    # ドットネットフレームワーク4.5をインストール
    %windir%\Setup\scripts\Packages\dotnetfx45_full_x86_x64.exe /q

    # Windowsアップデート関連の何かをインストール
    %windir%\Setup\scripts\Packages\Windows6.1-KB3138612-x64.msu /quiet /norestart

    # Powershell4.0をインストール(再起動あり)
    %windir%\Setup\scripts\Packages\Windows6.1-KB2819745-x64-MultiPkg.msu /quiet /forcerestart
    [/code]

    windows用カスタムインストールメディアを作成する

    サーバーに新規にWindowsをインストールする時、Windows標準のドライバではデバイスを認識しない事がある。

    RAIDカードのドライバが合わなければインストールすら出来ないし、
    インストール出来たとしても、NICドライバが合わなければ、USBメモリ等にドライバを入れておいて後からインストールする等、めんどくさいです。

    Windowsのインストールメディアを元に、
    ・RAIDドライバの追加
    ・NICドライバの追加
    ・Windowsサービスの有効化(SNMPサービスなど)
    を行ったカスタムインストールメディアを作る事が出来たので、素人がハマった箇所をメモします。

    基本的な手順は、
    http://www.vwnet.jp/Windows/WS12R2/AddDriver/AddDriver2ISO.htm
    https://msdn.microsoft.com/ja-jp/library/hh825099.aspx
    などを見て下さい。

    作った環境は以下になります。
    クライアント: Windows 10
    メディア  : Windows Server 2008 R2
    サーバー  : DELL PowerEdge R720
    RAIDカード : PERC H710P Mini
    ネットワーク: Intel(R) 10G 2P X520 Adapter 、Intel(R) GbE 4P I350-t rNDC

    ハマった箇所(1)ドライバファイルの在り処
    DELLのドライバは、実行ファイル形式(exe)で提供されています。
    そのままでは追加が出来ないので、ドライバーファイルだけに抜き出します。

    http://www.dell.com/support/home/jp/ja/jpdhs1/Drivers/DriversDetails?driverId=XYPYC&fileId=3481042880&osCode=WS8R2&productCode=poweredge-r720&languageCode=jp&categoryId=SF


    http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=W205T
    からドライバファイルをダウンロードし解凍します。※Windows標準機能で解凍できました。

    < < RAIDカード >>
    SAS-RAID_Driver_XYPYC_WN64_6.803.21.00_A07.EXEを解凍します。
    解凍後、SAS-RAID_Driver_XYPYC_WN64_6.803.21.00_A07\payload\にドライバーファイルがあります。

    < < ネットワークカード >>
    SAS-RAID_Firmware_F9M2Y_WN64_21.3.2-0005_A07.EXEを解凍します。
    解凍されたフォルダを見ると、Winx64.pkgというファイルがあるので、これも解凍します。
    解凍後、Network_Driver_W205T_WN64_17.0.0_A00\Winx64\Winx64にドライバー群があります。
    今回のネットワークカードに必要なドライバーは、PRO1000とPROXGBの2つになります。

    ハマった箇所(2) boot.wim と install.wim
    各サイトを流し読みしていて気付くのが遅れてしまい、無駄に時間を使ってしまったので。
    細かいとこは分かりませんが、以下の認識で間違っていないと思う。
    boot.wim   ・・・ RAIDカードなどのWindowsのインストールに必須のドライバーを追加
    install.wim ・・・ ネットワークカードなど、後からでもいいドライバーの追加、Windows機能のデフォルト値変更、レジストリ変更もここ

    indexを適切に指定しないと間違った場所にドライバを追加してしまう事になる為、
    必ず
    Dism /Get-WimInfo /WimFile:”インストールメディアのPATH\sources\boot.wim”
    Dism /Get-WimInfo /WimFile:”インストールメディアのPATH\sources\install.wim”
    を実行して、indexを確認してください。

    レジストリ変更と、アプリケーション追加は試していないので、試したら追記します。

    続きを読む windows用カスタムインストールメディアを作成する

    SQL Serverのversionによって処理を分けたい場合

    SQL Serverのversionによって処理を分けたい場合
    もうちょっと細かいversionで分けられると思うけど、
    今はSQL Server 2008 か 2012 か 2014 かぐらいで分けれれば問題ない。

    [code]declare @VERSION_FULL nvarchar(max);
    declare @VERSION int;
    SET @VERSION_FULL = (SELECT convert (nvarchar(max),SERVERPROPERTY(‘productversion’)));
    SET @VERSION = substring(@VERSION_FULL, 1, 2)
    IF @VERSION = 10
    — SQL SERVER 2008での処理
    BEGIN
    PRINT ‘2008’;
    END
    ELSE
    BEGIN
    IF @VERSION = 11
    — SQL SERVER 2012での処理
    PRINT ‘2012’;
    ELSE
    — SQL SERVER 2014での処理
    PRINT ‘2014’;
    END ;
    GO
    [/code]

    ウィンドウの位置を戻す

    ノートPCにモニター繋いでデスクトップを拡張していたのですが、ある時からノートPC単体の時にTeratarmが拡張モニター側に表示されるようになった。

    Teratarmは拡張モニター側で表示されているみたいだが、マウスはノートPCの渕から移動できない、と言った変な現象。

    いちいち拡張モニターに繋いで、Teratarmの窓をノートPC側に移動して、、、とかやっていたがさすがに面倒になってきた。

    ググってみると、YAHOO知恵袋に解決方法があった。

    ①まず画面の外に行ってしまったソフトを起動します
    ②Alt+Tabでそのソフトをアクティブにします
    ③Alt+Spaceを押します
    ④ウィンドウが隠されている方向にプルダウンメニューが出ます
    ⑤Mを押す、又は矢印キーで「移動(M)」を選択してからEnterキーを押す
    ⑥適当な矢印キーでウィンドウを移動させます

    おぉ~。さくっと解決したw