PowerShell

IIS7 / IIS7.5 / IIS8 のバックアップとリストア

$backup_name = "iis_backup_{0:yyyyMMdd}" -f (date) Import-Module WebAdministration #Get-Command -Module WebAdministration Backup-WebConfiguration $backup_name Restore-WebConfiguration $backup_name PowerShell以外に以下のアプリからもIISの管…

PowerShell でリモートWMI接続エラー 0x80070005 の解決法? (HDD容量ログ出力)

参考にしたサイトをなくしてしまいました!Format-Table を使っていたけれど、Add-Contentで使えないので削除し、文字列フォーマットを適当に使って Add-Contentを使う様にしました。 Format-Table ○○ | Add-Contentで何故できないのだろうか・・・ちなみに …

GAC内のファイルをコピーするPowerShellスクリプト

PowerShell 1.0でも普通に動きました! $target = "C:\WINDOWS\assembly" $copyto = "C:\develop\temp" $asmname = "アセンブリ名" dir $target -Recurse | ? { $_.Name -match $asmname } | % { $from = $_.FullName $vdr = $from.TrimStart($target) $to =…

あるフォルダ配下のbinとobjフォルダをすべて削除する。

$target = "あるフォルダ" $delfolders = "bin","obj" filter DeleteFilter { if($_.PSIsContainer) { $file = $_ $check = $false $delfolders | % { $check = $check -or ($file.Name -eq $_) } if($check) { rm $_.FullName -Force -Recurse } } } dir $t…

レジストリの変更とログ出力

IEのホームボタンを押した時にジャンプするURLを変更するPowerShellスクリプト $path = "HKCU:\Software\Microsoft\Internet Explorer\Main" $keyname = "Start Page" $log = "registry.log" $in = Read-Host "レジストリーのキーを入力して下さい。" if(-no…

自作DLLの呼び出し ― ハッシュ値の取得

Add-Type -Path "RLib.Security.dll" [RLib.Security.Commons]::getHash("1234567")

WebRequest WebResponse を使ってHTTPのデータ送信&受信

URLや送信データは適当に置き換えたもの。 cls [string]$url = "https://www.google.co.jp/" [string]$dir = (Split-Path ($MyInvocation.MyCommand.Path) -Parent) [string]$postext = (Get-Content (Join-Path $dir "postdata.txt")) #SSL/TSLの設定 [Syst…

連番文字列生成

ちょっとした文字列生成は以前までExcelでやっていましたが、PowerShellやF#がとっても楽だと最近気づいたという■ PowerShell 1..20 | % { "btnTest_{0:000}" -f $_ } ■ F# [1..20] |> Seq.iter (printfn "btnTest_%03d");; ■ 結果 btnTest_001 btnTest_002 …

簡易Grep

はじめて扱うコマンドレットとかあると、作るのに時間が結構掛った orz 練習しないとぱっと作れないなーと実感。 $exp = '[正規表現 検索キーワード]' $extension = '[ファイル名 正規表現フィルター]' $target = "[検索対象フォルダ]" cls #dir -Path $targ…

ActiveDirectory からコンピュータ一覧を抽出し、ユーザ名とIPアドレスを取得する

途中まで リモート接続後に環境変数からユーザ名を取得できると期待したい。 Windows Server 2008 ならこんな苦労をせずに、IPv4Address というプロパティが用意されてるっぽい・・・ filter TestLoop { ('------------------------------------------------…

配列で指定したパスの子フォルダをすべて圧縮する。

<######################################################################### 【子フォルダ圧縮スクリプト】 圧縮ソフトは WinRAR を使用 フォルダの絶対パスを指定する。 指定された絶対パス内のアイテムごとに圧縮する。 圧縮の詳細 RAR書式 リカバリー…

リモートPCの容量確認

書式がずれては Format コマンドの意味がないような・・・ 色々頑張ってみましたが、数値の右詰とか無理そうなので諦めよう。。■コード filter GetDiskSize { $server_name = $_ Get-WmiObject -Class win32_logicaldisk -ComputerName $_ | # ? { $_.Device…

Subversion の管理フォルダを削除

プロパティ PSIsContainer これでフォルダかどうかの判定が出来るのは初めて知った。PowerShellのコードは適当に作った為、対象の「SVN」管理フォルダを削除した後に、そのフォルダの子階層をのぞこうとしてエラー出てる感じが見られました。 今度再帰処理の…

ファイルコピー 同ディレクトリ構造からファイルをコピーする。(ミラーコピー?)

■今後の課題 1.相対パスに対応させる。 2.パスの暗号化(ほぼ必要ないかも) ■コード $root = "C:\target" $fdir = "C:\mirrordir" $tdir = "C:\copytmp" filter FileCopy () { $relativepath = $_.FullName.TrimStart($root) $fpath = Join-Path $fdir …

あるフォルダ配下のファイル一覧を相対パスっぽい形式の一覧出力

DOSだと dir /D /B /Sに対して for を使って書く見たいですが、面倒なのと 「今更覚えても応用利かないし・・・」ってことで PowerShell で書いてみたところ $root = '[フォルダの絶対パス]' dir -Path $root -Recurse | ? { $_.Attributes -ne "Directory" …

イベントログをUTF8のテキストファイルで出力

########################################################## $ldate = (date -f "yyyyMMdd") $log_dir = '.\' $log_name = "$log_dir{0}_{1}_eventlog.txt" $edate = (date).AddDays(-8) $eventlogs = "Application","System"#,"Security" ###############…

元のファイル名の数字に特定の数値を加算した連番でリネーム

$list = dir | % { @{ name = $_.Name; num = [Convert]::ToInt32(($_.Name -replace 'WS_(\d+)\.bmp', '$1')) + 13 } } $list | % { ren $_.name ("画像_01_01_{0}.bmp" -f $_.num) }

正規表現が正常に動かない原因

結論から書きますと「基礎をしっかりと身につけていない」という事に至りました。■正常に動かないパターン #実行結果が空白となる。 dir | % { $_.Name -replace "(.+)", "$1" } ■正常に動くパターン1 #キャプチャした結果が出力される。 dir | % { $_.Name…

次のお題はインストール一覧

気が向いたときのお題は minminnana さんが書かれた以下のものを題材にしたいと思います。◆インストールされているソフトウエアの一覧を取得色々と気に入らない処があるので、それを修正したものを作るかもしれません。 実行してみると結果に不要な空白行と…

ddo.jpのIPアドレス更新を行うためのスクリプト

タスクに登録することで定期実行可能 ※注意:エラー処理&例外処理は行っていません。 ############################################################### ## Downloads a HTML Source ############################################################### fun…

IIS のメタデータ設定 PowerShell編

ASDIでキャストすることでIISのメタオブジェクトを取得出来るみたいです。 これは非常に便利!!■ IISのルートオブジェクトのメンバ一覧取得コマンド [adsi]"IIS://localhost/W3SVC" | Get-Member■ IISのルートオブジェクトのメンバ一覧 TypeName: System.Di…

ネットワークの設定 (静的アドレス、DHCP)

参考サイト ネットワークカードを設定する PowerShell Tutorial 11 – Part 2: Scripting with Windows Management Instrumentation (WMI) – Methods■静的IPを設定 $adapterName = "ローカル エリア接続" $description = "Realtek xxxxx" $serviceName = "" $…