2016年11月7日月曜日

◆IPアドレスのロケーションを表示

http://community.idera.com/powershell/powertips/b/tips/posts/finding-location-of-ip-address

 

001
002
003
004
005
006
007
008
009
010

#requires -Version 3.0

function Get-IPLocation([Parameter(Mandatory)]$IPAddress
)
{

    $geoip = "http://geoip.nekudo.com/api/$IPAddress"
    Invoke-RestMethod -Method Get -Uri $geoip |
      Select-Object -ExpandProperty Country -Property City, IP, Location
 
}


Get-IPLocation -IPAddress 8.8.8.8

image

Restが簡単に使えますってサンプルかな。
個人的には、ロケーションを調べることは無いと思うがこのメソッドは覚えておきたい。

あと、以前はExpandPropertyとPropertyは共存できなかったと記憶しているが、できるようになってるんですね。

3.0から?

◆DHCPで設定されたアドレスを取得する

>Get-NetIPAddress | ? PrefixOrigin –eq DHCP | % IPAddress

2016年10月28日金曜日

◆スタート画面のカスタマイズ

スタート画面のタイルをエクスポート、インポートできるらしい。

>Export-StartLayout -Path ファイルパス
>Import-StartLayout -LayoutPath ファイルパス -MountPath C:¥

ただし反映されるのは、この処理を行った後に追加したユーザーとの事なので、バックアップとかの用途ではなく、初期展開などの用途でしょうか。

2016年8月31日水曜日

◆ストアアプリの削除方法

ストアアプリはプログラムの追加と削除からではなくPowerShellでやる必要があるのだとか。(GUIを提供しないのは手抜き?)

http://answers.microsoft.com/ja-jp/windows/wiki/apps_windows_10-outlook_mail/windows-10/239ef7e9-9f4f-40dc-bf41-2cd2b8217843

2016年8月26日金曜日

◆PowerShellでWebサイトをホストする

http://powershell.com/cs/blogs/tips/archive/2016/08/11/creating-powershell-web-server.aspx

IISとか無しにWebサイトをPowerShellだけでホストしちゃいましょって感じ。(URL更新?)

https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/creating-powershell-web-server

このサンプルを実行しておいて、http://localhost:8080/ にアクセスすると「Here is PowerShell」という文字を表示、http://localhost:8080/services にアクセスするとGet-Serviceした内容を返すというもの。
http://localhost:8080/hoge といった存在しないアドレスにアクセスすると404を返してサービス終了といった仕様になっているようだ。

こんなに簡単にできちゃうんですね。

2016年8月23日火曜日

◆ExplorerのパスをカレントにしてPowerShellを開く

ExplorerのアドレスバーにPowerShellと打ってEnterを押すと、そこをカレントにしてPowerShellウインドウが開く。
http://powershell.com/cs/blogs/tips/archive/2016/08/09/opening-powershell-for-folder.aspx

image

image

image

本当にTipsって感じ。

2016年7月20日水曜日

◆Windows10でのWindowsUpdateのログ

いつも苦労するWindowsUpdate

Windows10ではPowerShellコマンドを使わないとログが見れないのだとか。
http://www.atmarkit.co.jp/ait/articles/1607/15/news035_4.html

また、ログに吐かれたIDをWebから検索して詳細を表示する仕掛けらしいのだが、見つからないIDが結構ある。(UnKnownで表示される)

UnKnownは邪魔なのでスキップして表示するようにしてみた。

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

filter grep
{
 
param
(
 
$keyword,
  [switch]$notmatch
)
 
$_ | Out-String -Stream |
 
      
Select-String -Pattern $keyword -NotMatch:$notmatch
 
}


$logPath = "D:\desktop\WindowsUpdate.log"
Get-WindowsUpdateLog -LogPath $logPath
(Get-Content $logPath |
 
   
grep -keyword "Unknown" -notmatch)  | Out-File $logPath

結果は以下のような感じ。
image