Bar

Windows Server 2012 R2 Essentials でPowerShellを初めて使う人が覚えておくべき事

Windows Server 2012 Essentialsさえ触れていない状況にも関わらず、無謀にもWindows Server 2012 R2 Essentials Previewに手を出してみました。
その中でPowerShellに関して数点気になる事がありましたので、今後のためにメモ。

標準実行ポリシーはRemoteSignedになりました

Windows Server 2012 R2 Essentials PreviewはPowerShellの標準実行ポリシーがRemoteSignedになっています。
Technetの下記記事の途中に変更点がしっかり明記されています。
What's New in Windows PowerShell 4.0
The default execution policy setting on Windows Server 2012 R2 Preview is RemoteSigned. On Windows 8.1 Preview, there is no change in default setting.

そのため、.ps1ファイルが即実行出来ます。
なお、Windows 8.1 Preview等は今迄通りRestrictedです。

Wss独自コマンドレットは標準PowerShellから呼び出すことが出来ます

WHS2011ではWindows Server Solution(以後Wss)独自のコマンドレットが117個用意されています。
例えば独自コマンドレットGet-WssUserは、登録されている全ユーザ情報を取得できるコマンドレットですが、実は標準PowerShell(背景が青)から呼び出すことが出来ません。
専用の実行ファイルWssPowerShell.exe(背景が黒)を利用します。
2013-10-13_184502
かたやWindows Server 2012 R2 Essentials Previewは見慣れた標準PowerShell(背景が青)からWssコマンドレットを利用することが出来ました。
何も考えずに標準PowerShellを起動しWssコマンドレットを実行していたが、普通はこうですよね・・・
2013-10-13_184759
そうか、管理者権限だけか・・・
例えば、下記のようなスクリプトを書いて実行してみました。
  1. Get-WssUserコマンドレットでユーザをチェック
  2. ユーザが存在していれば終了
    存在していなければAdd-WssUserコマンドレットでユーザを追加
簡単なスクリプトですが、実行すると
管理者権限が必要です。
管理者としてPowerShellを再起動してください。
2013-10-13_185849
とのエラーが表示されました。
本来はダッシュボード上から操作するため、簡単に実行させない施策なんですかね?
何にしても、管理者権限が必要である点は今後注意したいところです。
なお、Get-ChildItemやTest-Connection等のコマンドレットは管理者権限がなくとも利用できます。

数か月前の話ですが、WHS2011でWssコマンドレットを触ろう!と思い立ったもののWssコマンドレットはどこから実行できるのか全く分からず、四苦八苦した思い出があります。
その点、Windows Server 2012 R2 Essentials PreviewにおけるWssコマンドレットは標準PowerShellから実行出来る点は結構気に入っています。
今回は先行でPowerShellに関して書きましたが、そもそもWindows Server 2012 R2 Essentials自体、全く知りません。というか、Windows Server 2012 Essentialsでさえも素人レベルです。
まだまだ確認すべき事が多々あると思います。
今後も触って確認できた内容から順次ご紹介したいと思います。
Wssコマンドレットも時間を作って全内容を調べたいところです。時間を作って・・・