Expoert-CsvにAppendパラメータが追加されている。
TypeInfomationは重複せずにちゃんとマージしてくれているようだ。
ちゃんとエラーになりますね。
NoOverwriteなんてパラメータも追加になっていて上書き禁止指定も出来そう。
Expoert-CsvにAppendパラメータが追加されている。
TypeInfomationは重複せずにちゃんとマージしてくれているようだ。
ちゃんとエラーになりますね。
NoOverwriteなんてパラメータも追加になっていて上書き禁止指定も出来そう。
会社の調査でなぜか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君がダウンロードさせてくれない。
どうもその性質上ブロックしてしまうウィルスソフトがいくつかあるようだ。
さすがに自宅から持ち込むわけにはいかないので、ここで挫折。
誰かPowerShellのサンプルを書いてくれないかしら・・・。
(単にレジストリーの場所の問題のような気もするが・・・)
Get-ChildItemコマンドレットに属性関連のパラメータが追加になったようだ。
それぞれ以下の表示に対応している。(Archiveはattributesでの指定になりそう)
順番に書くと、「darhs」となり、
d Directory
a Archive
r ReadOnly
h Hidden
s System
の略と思われる。
また、「Attributes」パラメータを使うと他にも「Compressed」や「Encrypt」が指定できる。
「Compressed」や「Encrypt」はファイルのプロパティを表示して以下で指定できる属性。
指定の仕方は、こんな感じらしい。
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed |
また、短縮形(エイリアス)で書けるのは以下の4つ。
D Directory
H Hidden
R Read-only
S System
これまでは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" + $_ } |
古い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ユーザーに少し歩み寄ってくれるのではなかろうか・・・。
ここでは、「w3svc(World wide web publishing service)」が4つのサービスに依存していることが分かる。
意外と考えてしまったが、こんな感じでうまくいきそう。
001 002 003 004 | $dpSVC = "w3svc" get-service | ?{ $_.DependentServices | %{if($_.name -eq $dpSVC){$true}} } |
ちなみに、V3になるとこいつは以下の様に書ける。
001 002 | $dpSVC = "w3svc" get-service | ?{$_.DependentServices.Name -eq $dpSVC} |
共有ドキュメントとかに置いてある全てのドキュメントの属性を表示するサンプル。
もう少しダイレクトに情報が取れそうな気もするが、ざっと見ただけでは見つからなかった。
力技的な感じもするがとりあえず以下のスクリプトで取得可能。