Powershell 調べたことまとめ
数年前にPowershellを勉強し始めのころに調べたものが消されずにPC内に眠っていたw
まとめと言ってもURLが雑に並んでいるだけなので
そのうち整理したいと思う・・・。そのうち
PowerShell プレゼン資料
https://speakerdeck.com/player/061a73d04e4f01318884263fb8183d01#
http://winscript.jp/powershell/202
> PowerShell らしい関数の書き方
http://winscript.jp/powershell/253
ゼロから始めるPowerShell -ディレクトリ編
http://news.mynavi.jp/articles/2009/09/23/powershell/
カスタムオブジェクト(PsObject)を使う(New-Object)
http://mtgpowershell.blogspot.jp/2010/12/psobjectnew-object.html
Add-Memberでプロパティを増やす
http://www.oborodukiyo.info/PowerShell/v20/PS-AddMember.aspx
牟田口大介 |
ファイル/レジストリの操作(文字列検索なども解説) http://www.atmarkit.co.jp/ait/articles/1005/19/news108_2.html |
Don Jones |
>Windows PowerShell: スクリプト作成の短期集中講座 http://technet.microsoft.com/ja-jp/magazine/hh551144.aspx >Windows PowerShell: コマンドを再利用可能なツールにする http://technet.microsoft.com/ja-jp/magazine/gg537351.aspx >Windows PowerShell: スクリプトではなく、コマンドとして考える http://technet.microsoft.com/ja-jp/magazine/gg293110.aspx >Windows PowerShell: より良い関数を作成する http://technet.microsoft.com/ja-jp/magazine/hh360993.aspx >続すてきなパイプライン手法 http://technet.microsoft.com/ja-jp/magazine/ff394367.aspx >Windows PowerShell: 出力に関するオプション http://technet.microsoft.com/ja-jp/magazine/gg213852.aspx >オブジェクトをカスタマイズするさまざまな方法http://technet.microsoft.com/ja-jp/magazine/hh750381.aspx |
参照サイト |
>HIRO’s .NET
http://hiros-dot.net/PowerShell/index.htm
About_Functions http://technet.microsoft.com/ja-JP/library/hh847829.aspx About_CommonParameters |
マイナビニュース
http://news.mynavi.jp/tag/0002755/
■指定したRSSフィードをダウンロードし、最新の8エントリーのタイトルを表示する。 http://wiki.news.mynavi.jp/entry/Windows_PowerShell?wiki_ch=pc&wiki_cat=software |
PS> $rssUrl = "http://blogs.msdn.com/powershell/rss.aspx" |
PS v2.0 では、初期値がMicroSoftが開発したスクリプト以外は実行できない設定になっている。
下記の設定で実行可能に変更可能である。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
>> Powershell バージョン情報の調べ方
$PSVersionTable
・参考サイト
http://kawasaki-shingo-ps.blog.so-net.ne.jp/2009-03-09
・未定義の変数を参照するとエラーが出る設定
Set-PSDebug -strict
・プロファイルについて
http://msdn.microsoft.com/en-us/library/bb613488%28VS.85,loband%29.aspx
>> example #1
カレントフォルダ以下(全サブフォルダ含む)全ての BAKファイルを抽出、削除
Get-ChildItem * -Recurse -Include *.BAK | rm -Verbose
Get-ChildItem * -Recurse -Include *.BAK | Remove-Item -Verbose
>> example #2
環境変数PATH を ; -> 改行コードに変換して出力する
→ PATHを見やすい形で出力する
$env:PATH -replace ";" , "`r`n"
>> example #3
PowerShell でOSの基本情報を取得する
>> example #4
メール送信
http://wavetalker.blog134.fc2.com/blog-entry-70.html
>>example #5
変数に代入したオブジェクトのプロパティ “name” を取得する
$obj.GetType().GetProperties() | Select-Object -Property "Name"
>> example #6
Get-Copmmand からselect が含まれるコマンドレット名を取得する (大文字小文字識別しない)
Get-Command | Where-Object { $_.Name -match "select" }
>> exmaple #7
ファイル内の文字列を置換する
http://hiros-dot.net/PowerShell/file/file20.htm
$(Get-Content ".\sample.txt") -replace "FGHIJ","XXXX" > sample_new.txt
http://www.atmarkit.co.jp/fwin2k/win2ktips/1039psrepstr/psrepstr.html
>> example #8
フォルダ作成
http://www.atmarkit.co.jp/fwin2k/win2ktips/1069psffolder/psffolder.html
>> exmaple #9
ヘルプトピックの書き方
http://memo-space.blogspot.jp/2010/01/powershell.html
Get-Help about_Comment_Based_Help
>> example #10
関数の作り方
http://technet.microsoft.com/ja-jp/magazine/hh360993.aspx
>> exmaple #11
IPアドレスの取得、設定の仕方
>> example #12
%の意味:
http://www.itlab51.com/?p=5547
ForEach-Object コマンドレットのエイリアス
Get-Command | ForEach-Object {$_.Name}
Get-Command | % {$_.Name}
>>exmaple 13
Select-Object コマンドレットの使用
http://technet.microsoft.com/ja-jp/library/ee176955.aspx
Where-Object コマンドレットの使用
http://technet.microsoft.com/ja-jp/library/ee177028.aspx
Foreach-Objectコマンドレットの使用
http://technet.microsoft.com/ja-jp/library/ee176828.aspx
- パイプの使用例
http://winscript.jp/powershell/253
PS C:\> Get-Process | Where-Object { $_.Handles -gt 500 } | ForEach-Object { $_.Path }
C:\Documents and Settings\xxxxx\Local Settings\Application Data\Google\Chrome\Application\chrome.exe
\??\C:\WINDOWS\system32\csrss.exe
C:\WINDOWS\Explorer.EXE
C:\WINDOWS\system32\lsass.exe
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell_ise.exe
C:\Program Files\Skype\Phone\Skype.exe
C:\WINDOWS\System32\svchost.exe
C:\Program Files\Trend Micro\OfficeScan Client\tmlisten.exe
\??\C:\WINDOWS\system32\winlogon.exe
PS C:\>
>> example
ファイル操作:ReadOnly を外す
PS> Set-ItemProperty -Path ファイルパス -name IsReadOnl
y - value $false