適材適所

PowerShellを中心にプログラミングやシステム管理の備忘録的なブログ

PowerShell

【Tee-Object】コマンドの結果を確認しつつ変数に格納したりファイルに書き込む【PowerShell】

Tee-Objectコマンドレットとは コンソールに出力しつつ変数に格納したいとき コンソールに出力しつつファイルに書き込みたいとき 終わりに 日々PowerShellと戯れていますが、コマンドレットを実行した結果を変数に格納しない日はありません。 そして、変数に…

【Get-CimInstance】壁紙の元画像の保存場所を調べる【PowerShell】

Get-CimInstanceコマンドレットを使う デスクトップの情報を取得する 結論 終わりに 参考とさせていただいたサイト PCの壁紙って、その人のこだわりみたいなものが垣間見られて、デフォルトではない壁紙を設定してあるのを見ると、その人の印象がちょっと変…

【Get-PSReadlineOption】コマンドの入力履歴を確認する/入力履歴の保存を停止する【PowerShell】

環境 これまでのコマンド履歴を確認する 入力履歴を保存しないようにする 終わりに 日々PowerShellと戯れていますが、「なんだか、この作業、前にもやったような・・・?」 そんなときは、コマンドの入力の履歴を調べてみましょう。 環境 PowerShell5.1以降…

【Invoke-WebRequest】ウェブページのリンク一覧を色んな形で取得する【PowerShell】

単純にコンソールに表示 GUIでかっこよく出力する ワンライナーで書いてみる CSV形式で出力する json形式で出力する 終わりに PowerShellを使って簡単にウェブページのリンク一覧を取得する方法です。 あくまで簡単なものですので、悪しからず。 Invoke-WebR…

【Remove-Printer】プリンタを削除する【PowerShell】

Remove-Printerコマンドレット ワイルドカード使用時の注意点 終わりに PowerShellでプリンタを削除するときはRemove-Printerコマンドレットを使います。 ワイルドカードを使ったりGet-Printerコマンドレットと組み合わせつつ使ったりと便利な反面、気を付け…

【Write-Verbose】スクリプトや関数の詳細を表示する【PowerShell】

Write-Verboseコマンドレット 関数で使用する $VerbosePreference 終わりに PowerShellのスクリプトや関数で処理の経過やデバッグ情報を表示するのに皆さんはどうしていますか? Write-Hostでコンソールに書き出している人もいるかも知れません。 それも一つ…

【ValidatePattern】引数(パラメータ)を正規表現でチェックする【PowerShell】

ValidatePattern属性 ValidatePattern属性のoptionについて 終わりに PowerShellの引数チェックには様々なものがあります。 パラメータの先頭などに属性を付与することができ、その属性で多様なチェックを行うことができます。 いちいちプログラムの中でチェ…

【PowerShell】標準で使うプリンタを設定する【bat】

PowerShellで標準で使うプリンタを追加する batファイルで簡単に追加できるようにしておくとよいかも 終わりに コロナ禍で在宅勤務が広がり、ペーパーレスが騒がれて久しいですが、まだまだ紙の需要はなくなりません。 また、在宅勤務以外にもフリーアドレス…

【PowerShell小ネタ】コメントアウトでハマった話

[結論]PowerShellのコメントは「#」です ハマった話 終わりに PowerShellでスクリプトを作ったのに動かない。 原因はコメントアウトの記号の間違いでした。 [結論]PowerShellのコメントは「#」です PowerShellでスクリプトにコメントを残すときは#を付けます…

【PowerShell】関数(Function)に別名(Alias)をつける

Attributeを使って関数に事前に定義しておく Set-Aliasコマンドレットを使う 終わりに PowerShellの関数には様々な属性(Attribute)を定義することができます。 その中でも今回は別名(Alias)についてみていきたいと思います。 PoewrShellではAttributeを使っ…

【PowerShellの型】Orderd typeについて[ordered]

結論 実験 HashTableの作成 OrderedDictionaryの作成 OrderedDictionaryって? 終わりに PowerShell3.0の言語仕様を眺めていたら気になる型があったのでそのことについて調べたことを備忘録を兼ねて残しておきます。 言語仕様のTypeのところを眺めていたら、…

【PowerShell小ネタ】PowerShellとコマンドプロンプトを行き来する

コマンドプロンプトを起動する 迷子になったら 終わりに PowerShellは既存のコマンドをそのまま使えるようになっています。 もちろんこれまで利用されていたコマンドプロンプトも使うことができます。 コマンドプロンプトを起動する PowerShellでcmdと入力す…

【PowerShell】スクリプト内でFTPコマンドを使いたいよーってときに読む記事その1

なんで今時FTPコマンド? PowerShellのスクリプトの中でFTPコマンドを使ってGetする関数 終わりに スクリプト内でFTPコマンドを使いたいときは、ちょっと面倒。 いちいちテキストにコマンドを書き出さないといけない。 そんないちいち書き出すの面倒だけど、…

【PowerShell入門】コマンドレットとは?

コマンドレットとは? コマンドレットは「動詞 + 名詞」でできている コマンドレットの種類について知りたいときはGet-Commandコマンドレットを使う パラメータ(引数)が必要なコマンドレットもある Alias(別名)を使うことができる 多くは処理の結果が返っ…

【PowerShell入門】PowerShellとは?【起動からコマンドの実行までを解説】

環境 PowerShellってなんぞや PowerShellを起動する コマンドを実行する まとめ PowerShellの入門記事(ちょっとずつ更新予定) PowerShellとはなんぞやから、PowerShellの起動までを描く、ハートフルストーリー。 環境 Windows 10の画面で話を進めていきます…

【UI Automation,PowerShell】ウィンドウを移動・サイズを変更する最も簡単なプログラム

環境 PowerShellを起動する コードを貼りつける 操作したいウィンドウのタイトルと変更後の幅、高さ、横座標、縦座標を設定する エラーが出たら 「null 配列にインデックスを付けることはできません。」が出た ウィンドウの幅、高さが変わらない UI Automati…

【Get-Content,Out-File】テキストファイルの先頭に書き込む【PowerShell】

テキストファイルの先頭に文字列を追加する考え方 コマンド ハマりポイント Encodingの指定を忘れない Out-Fileの-Appendを忘れない Get-Content -Rawを付けた方が処理スピードが速い 終わりに テキストファイルを操作する記事 基幹システムから出力したCSV…

PowerShellで文字列を切り出す方法 4選

王道!SubStringメソッド VisualBasicのLeft、Right、Mid 配列を経由する 【余談】カンマ区切りにする ちょっと玄人っぽく正規表現を使う 終わりに PowerShellで文字列を扱う関連記事 プログラミングにおいて文字列の操作は欠かせないですよね。 もちろんPow…

【PowerShell】文字列を数値に変換する

文字列を数字に変換する 大きい値や小さい値のときは注意 ちなみに 一応こんな方法も 終わりに PowerShellはリッチなオブジェクトの受け渡しができる最高のコマンドラインシェルですが、状況によってはPowerShellのパワフルなコマンドレットではなく、pingと…

【Rename-Item】ファイルやフォルダ名を変更する【PowerShell】

yyyy-mm-dd形式 VS yyyymmdd形式 VS・・・ Rename-Itemコマンドレット ファイル名やフォルダ名を一括で変更する yyyy-mm-ddをyyyymmddに変更する yyyymmdd_をyyyy-mm-ddに変更する 終わりに yyyy-mm-dd形式 VS yyyymmdd形式 VS・・・ ファイルサーバーを覗い…

【Get-Date】PowerShellで日付を扱う

日付を扱うときはGet-Dateコマンドレットを使う 月だけなどの個別の要素を取り出したい Get-Dateは何者? Get-Dateのチートシート yyyyMMdd形式 翌日を取得する 今月末を取得する 終わりに 参考 PowerShellの関連記事 ファイル名に日付を入れてみたり、フォ…

【PowerShell】固定長のデータをPsObjectに変換する~そしてCSVへ~

環境 事前に用意するもの 固定長のデータ 区切りの定義 コード 例 テストデータ 結果 CSVに変換する そしてJSONへ さらにxmlへ・・・ 終わりに 基幹システムからデータを抽出すると、固定長のデータになっていることがあります。 特に汎用系のシステム、君だ…

【PowerShell】文字列を大文字・小文字に変換する方法3選

ToUpper()/ToLower() Visual BasicのuCase()/LCase() VisualBasiの超便利メソッドのStrConvメソッド 終わりに ユーザーが入力してきた値を比較するときや、入力された値の表記の揺れを統一したいときなどに活躍する、大文字・小文字変換。 PowerShellはオブ…

【PowerShell】大量にpingを打つときに結果を1行にまとめて可読性をあげてみる

環境 pingの出力結果が冗長すぎるときがある 死活監視においてpingの結果が冗長だと思う点 応答が複数行にまたがって出力される 統計は不要 3回も試行しなくてもいい PowerShellで簡単にまとめてみる pingの応答を変数に格納する -nオプションで試行回数を…

【PowerShell】0埋めや桁揃えなどのパディングする

StringクラスのPadLeft/PadRight PadLeft(int totalWidth) PadLeft(int totalWidth, char paddingChar) PadLeftやPadRightの注意点 書式設定演算子(-f) Visual BasicのFormat組み込み関数 終わりに PowerShellで0埋めや桁揃えなどパディングする方法の紹介で…

【Strat-Transcript/Stop-Transcript】PowerShellでログを取る

個人的に便利だと思う点 自分の好きなタイミングでログを取ることができる ファイル名が一意になるよう、よしなに設定してくれる! 実行環境まで含めてファイルに出力してくれる! その他、便利(?)なパラメータ -append -OutputDirectory -IncludeInvocat…

【PowerShell】IPアドレスの設定をDHCPから固定IPにするときはDNSの登録も忘れずに

DHCPから固定IPアドレスへ変更する PowerShellでIPアドレスを変更する DNSの登録が漏れていた 最後に これまでDHCPで運用していた複数のWindows10のPCを固定IPアドレスにする時に、一括で設定を変更するためのスクリプトをしこしこ書いておりました。 その際…

【PowerShell】ヒア文字の罠に勝手にはまる

ヒア文字とは ヒア文字の罠 前の@"も値に連続させてしまうとダメ 最後に PowerShellのヒア文字、便利ですね。 コードなんかを変数に格納する際など、重宝します。 そんなヒア文字ですが、注意すべき罠があります。 (自分で勝手にはまっているだけ) この記…

Windowで大容量のテキストファイルを扱うときはPowerShellがおすすめ

「すいません、このテキストファイルのデータを集計したいのですが・・・」 おもむろに見せられたテキストファイルは10GB超え。 あれ?桁数を勘定し間違えたかな? 1GB超えくらいかな? いえいえ、間違いなく10GBを超えておりました。 そんな超ド級のテキス…

PowerShellで文字列を結合する方法 5選

+演算子で結合する 変数を経由する 配列を経由する 書式設定文字列を使う StringクラスのConcatメソッド StringBuilderオブジェクトを使う 単項演算子-joinを使う System.StringクラスのJoinメソッド 終わりに 参考 PowerShellを使っていると文字列を結合し…