2012年8月30日木曜日

◆Export-Csvに追加されたAppendパラメータ

Expoert-CsvにAppendパラメータが追加されている。
TypeInfomationは重複せずにちゃんとマージしてくれているようだ。

image

image

って事は別の型を追加するとどうなるか・・・。
image

ちゃんとエラーになりますね。

NoOverwriteなんてパラメータも追加になっていて上書き禁止指定も出来そう。

◆NICの設定(NetAdapter関数)V3

ネットワークカード設定用の関数が色々と追加になっているようだ。(Windows8環境で確認している)

image

ネットワーク関係は素人なので私自身はあまり使うことは無いと思うが、GUIで出来ることはPowerShellでも出来るというのが現実の物となっているのだろうか。

ちょっとだけ試してみると、
「Get-NetAdapter」
image

「Rename-NetAdapter」
image

「Restart-NetAdapter」
image

Windows8をインストールしたときにNICの調子が悪くリンクスピードをオートネゴから100Mの全2重に設定したのだが、そんな設定も簡単にできてしまう。
image

「Set-NetAdapterAdvanceProperty」

image

本当に何でもできそうな感じだ。

◆プロダクトキーを表示する2

会社の調査でなぜかOSとOfficeのプロダクトキーを報告せよとのお達し。
年季の入ったPCを使っている我々としては既に忘却の彼方・・・。

以前書いたPowerShell: ◆プロダクトキーを表示するが役に立つときが来たかと思ったのだが、OSはとりあえず良いとしてOfficeが厳しい。
リンクを張っていたサイトはリンクが切れていた(><)

調べてみるとここら辺How to get MS Office product key - Powershell.com – Powershell Scripts, Tips and Resourcesが引っ掛かるのだが、どうにもこうにもインストールしていると思しき候補のキーとどれも一致しない。
いくつかのPCでも同様だったのでダメっぽい(何か環境が合わないのだろう)

OfficeのバージョンやOSのバージョンで微妙に違う感じもある。

プロダクトキーという性格上の問題なのか、あまり明確な情報が見当たらない。
仕方がないのでフリーソフトを探しているとProduKey - Recover lost product key (CD-Key) of Windows/MS-Office/SQL Serverがメジャーっぽい。

自宅で試したところOK。

さて会社でっと思ったらプロキシーのMcAfee君がダウンロードさせてくれない。
image

どうもその性質上ブロックしてしまうウィルスソフトがいくつかあるようだ。

さすがに自宅から持ち込むわけにはいかないので、ここで挫折。

誰かPowerShellのサンプルを書いてくれないかしら・・・。
(単にレジストリーの場所の問題のような気もするが・・・)

2012年8月27日月曜日

◆Get-ChildItemの属性パラメータ(V3)

Get-ChildItemコマンドレットに属性関連のパラメータが追加になったようだ。

image

それぞれ以下の表示に対応している。(Archiveはattributesでの指定になりそう)
image

順番に書くと、「darhs」となり、
d Directory
a Archive
r ReadOnly
h Hidden
s System
の略と思われる。

また、「Attributes」パラメータを使うと他にも「Compressed」や「Encrypt」が指定できる。
「Compressed」や「Encrypt」はファイルのプロパティを表示して以下で指定できる属性。
image

指定の仕方は、こんな感じらしい。

Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed

演算子は以下のような意味。
! NOT 
+ AND
, OR

また、短縮形(エイリアス)で書けるのは以下の4つ。
D Directory
H Hidden
R Read-only
S System

2012年8月21日火曜日

◆Get-Contentでテキストファイル全体を丸ごと読む

これまでは1行ずつの読み込みだったので、以下のように改行コード自体を扱うには.Netクラスが必要だった。
PowerShell: ◆テキストファイルの改行コードを削除する

V3では「Raw」パラメータが追加になり、丸ごと読むことが可能になった。

001
002
003
004
005
006
007
008
009

cls
"A`r`nB`r`nC`r`nD" > test.txt

"◆With Raw Param"
Get-Content test.txt -Raw |
 
 
%{$ctr = 0}{"ループ" + ++$ctr + "の中身`r`n" + $_  } 
"◆ Without Raw Param"
Get-Content test.txt |
 
 
%{$ctr = 0}{"ループ" + ++$ctr + "の中身`r`n" + $_  }

image

2012年8月18日土曜日

◆ネットワークアダプター(NIC)をリセットする

古いPCにWindows8を入れたら、スリープからの復帰時にNICが有効にならなくなってしまったのでリセットするコマンドを作った。

001
002
003
004
005
006
007
008
009
010
011
012
013

function Reset-NetworkAdapter {
 
param
(
 
$name
  )

 
$nc = Get-WmiObject Win32_NetworkAdapter -Filter "NetConnectionID='$name'"
 
 
if($nc.Disable().ReturnValue){"Error in Disable"
}
 
if($nc.Enable().ReturnValue){"Error in Enable"
}
}


$netName = "イーサネット"

Reset-NetworkAdapter $netName

Windows8は、7の後継としては若干使いづらい印象。
特に、一般ユーザーは7の後継ではなく、タブレット用のOSと捉えたほうが良さそう。
Heper-Vは超嬉しいが、今のHDでは動かない(><)

ビジネスユーザーは7のままが幸せ。
開発者とタブレットユーザーは8が良いと思われる。

9あたりで7ユーザーに少し歩み寄ってくれるのではなかろうか・・・。

2012年8月8日水曜日

◆依存するサービスを列挙する

以下の表示をPowershellでやってみる。
image

ここでは、「w3svc(World wide web publishing service)」が4つのサービスに依存していることが分かる。

意外と考えてしまったが、こんな感じでうまくいきそう。

001
002
003
004

$dpSVC = "w3svc"
get-service | ?
{
 
$_.DependentServices | %{if($_.name -eq $dpSVC){$true}}
}

image

ちなみに、V3になるとこいつは以下の様に書ける。

001
002

$dpSVC = "w3svc"
get-service | ?{$_.DependentServices.Name -eq $dpSVC}

2012年8月1日水曜日

◆SharePoint ドキュメントの属性を一覧表示する

共有ドキュメントとかに置いてある全てのドキュメントの属性を表示するサンプル。

もう少しダイレクトに情報が取れそうな気もするが、ざっと見ただけでは見つからなかった。

力技的な感じもするがとりあえず以下のスクリプトで取得可能。