PowerShell

2019年、2020年の祝日について

祝日についての記事を修正しました。 PowerShellで1949年以降の休日を取得する - じゅんじゅんのきまぐれ (これに紐づいている過去記事(UWSC版・JavaScript版)も更新しました。) 更新内容は、 ・オンライン版は諦めた ・2019年は天皇誕生日がない(国立…

UWSC(PowerShell)で絵と吹き出しを表示する

公式掲示板にイラスト画像を表示して吹き出しを付けたい、というなんとも面倒なお題があがっていました。 これ簡単じゃないし、こういう質問をしちゃう人に回答すると、質問攻めに会いそうで怖いからスルーしてたんですが、ま、質問攻めをスルーするかもしれ…

PowerShellでTKMP.dllを使いSSL接続でメールを受信する

UWSC掲示板で、SSL接続でメール受信できないか、という質問を見たので書いてみた。 TKMP.dll、便利そうですね。 .NET用メール送受信クラスライブラリ (TKMP.DLL) 3.1.8 件数確認のソース UWSCだけど、POWERSHELL呼び出しているだけなので、抽出すればPowerSh…

PowerShellで.net remotingを使う

とりあえず、IPCね。 ライフサイクルタイムの件はとりあえず無視。(なので、5分何もしないと切れる) ライフサイクルタイムの設定するなら、チャネル登録前にやらないといけない。

PowerShellとUWSC間をMemoryMappedFileで通信する

UWSC公式掲示板に、C#とUWSCのプロセス間通信のお題があった。 .net環境とUWSCと読み替えて、簡単に答えてみる。 けど、今みたら解決済みだった。 ま、いっか。

PowerShellでポップアップメニューを表示する(フォント変更対応)

前に書いたのは、フォントの変更ができませんでした。 今回はフォント変更にも対応してみました。 関数の引数を簡易にする都合上、一律変更となっていますが、もちろん個別変更も可能です。 また、修正すればイタリック体にするとかも可能となります。 一度…

PowerShellでFibonacci Clockを再現する

いやーん、すてき! フィボナッチ数列の最初の部分を使った時計ですって! Fibonacci Clock - An open source clock for nerds with style by Philippe Chrétien — Kickstarter 、、、なんかこういうの、脳から変な汁出て、衝動的に投資したくなるけど、冷静…

PowerShellの柔軟過ぎる型変換・キャストに恐れおののく

stuncloudさんがこんな記事を。 PowerShellは暗黙の型変換がんばりすぎ | たっぷす庵 そうそう、PowerShellのキャストって高機能過ぎですよね。 気になったので、その高機能っぷりを調べてみた。 結果 高機能なキャストの動作ですけど、、、 対象がstringな…

PowerShellを利用したウイルスを防ぐ

やはりきたか。 PowerShellを利用したウイルス。 http://blog.trendmicro.co.jp/archives/9595 これ、あれですよね。 Base64エンコード実行ですね。 ということで、防ぐには以下のようなことが必要です。 PowerShellを(比較的)安全にする - じゅんじゅんの…

x64には存在しないScriptControlの代わり

以前、こんな記事を書いた。 x64には存在しないScriptControlの代わり - じゅんじゅんのきまぐれ この時、ieのプロセスができちゃうなー、と思っていて、.Net JScriptの方法も書いたけど、ieのプロセスを作りたくなかったら、htmlfileを使えば良いことに今頃…

PowerShellでいろいろな文字コードを扱う

みんな大好きPowerShellのGet-Contentさんですが、日本語使うには文字コードの扱いがイマイチです。 Encodingなしでざっと試験してみると、 Shift-JIS(多分、Win CP932)は、そのまま読める(ロケールのおかげか) Unicode系は、BOMありなら読める Unicode…

PowerShellで分数を扱う

PowerShellで分数が使いたくなった。 なので、C#で書いてみた。 演算子オーバーロードが意外に書くのが面倒。 ジェネリクスでなんとかできないか?、、、。

PowerShell4.0の日本語ヘルプに絶望した

Windows8.1環境を触ったのだけど、なんですか、この日本語ヘルプの貧弱さは。 2.0の頃のヘルプはどこに行った。 ということで、2.0のヘルプを入れた話。

PowerShellにしゃべらせる!

、、、これも、docomo api。 PS > Start-Speaking こんにちは ってなことができます、、、って、まあ実行しないと音は出ませんけど。

PowerShellと会話する

、、、ってか、docomoの質問・雑談APIと会話するだけですが、、、。 こんなことができます! PS > Get-Answer こんにちは こんにちわん PS > Get-Answer 日本の人口は? 日本の人口は128057352人です。 1 128057352人 総務省「平成22年国勢調査」より なんや…

特定のフォルダーのPowerShellスクリプトを自動署名する

以前、こんなのを書いた。 Powershellスクリプトの署名と証明書の操作 - じゅんじゅんのきまぐれ 一応、分けて運用してたのだけど、モジュールの展開とかいろいろ面倒になって、ま、署名されたスクリプトを直接更新してやれ、という気になったので変更を検知…

PowerShellのタブ補完をPopupMenuに拡張してみる

最近事情により手元のWin7機のPowerShellを3.0に更新しました。 3.0ではクラス名を補完できるのですね。 Tab補完を先日作ったShow-PopupMenuを使って、PopupMenuにします。

PowerShellでポップアップメニューを表示する

PowerShellでポップアップメニューを表示してみたくなった。 ContextMenuStripを使うべきっぽいんだけど、横着してContextMenuで。 一度でも呼ぶと、System.Windows.Formsがロードされるのが不可逆。

PowerShellでMeCabを使う

形態素解析、、、日本語処理には必須と言って良い処理を行ってくれる、MeCab。 これをお手軽に使いたくなった。 もちろん、MeCabそのものを使用しても良いのだけど、.Netを利用したいじゃないですか。 方法を考えた。

PowerShellを(比較的)安全にする

PowerShellはWindows上でできることなら何でもできます。 なんらかの脆弱性等でPowerShellをキックできてしまうと、何でもできる、ということです。 それはとても恐ろしいことなので、安全に使う方法を考えてみた。

初期状態のPowerShellでスクリプトファイルを実行する

UWSC公式掲示板で教えてもらったのでメモ。 powershell -EncodedCommand ([Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes((gc (ファイルパス)) -join "`r`n"))) これ関数化したらRestrictedかたなし。

PowerShellで1949年以降の休日を取得する

たしか先月で、GoogleのカレンダーAPI、v1/v2が使えなくなりました。 ということでGoogle依存を解消したPowerShellでの休日取得を考えてみました。 追記 2021/10/12 2021年東京オリンピック周りの変更を反映 2007以降のみを削除 関数名等修正

PowerShellでAssemblyのLoad/Unloadを簡単に

Add-TypeでAssemblyをロードしちゃうと、Unloadできないじゃないですか。 あの仕様って、どんな嫌がらせなんですかね? じゃあってんで、PowerShellプロセスを使い捨てにするのが一般的だと思うけど、そうすると一部は残したい、という場合にまたAdd-Typeし…

Powershellのタブ補完の秘密

本当はタブ補完を自由にコントロールしたかったのだけど、ちょっと面倒になったのでヒントだけ。 Powershellのタブ補完は、TabExpansionという関数が担っているらしい。 その正体は、 (Get-Command TabExpansion).Definition 手元のPowershell v2.0環境では…

Powershellスクリプトの署名と証明書の操作

Powershell、とっても便利じゃないですか。 便利、それは危険ということ。 セキュリティホールつかれてスクリプトが実行されたら大変ですよね! 利便性のためにすぐRemoteSignedにしがちですが、せめてAllSignedにしましょう。 ということで、方法を考えてみ…

Powershellで非同期にファイル変更を監視する

なんかさ、便利なものを公開してくれる人もいるわけじゃないですか。 でもさ、ファイル修正してからコマンド叩くの、面倒じゃないですか。 忘れるじゃないですか。 勝手に作れよ、と。 だから考えてみた。 追記 2014/12/15 Start-Watcherのリターンを、Watch…

Powershellで非同期実行

Start-Jobで非同期実行っぽいことができるわけですが、あれは別プロセス。 しかも、Receive-Jobしないと結果取得できない。 スレッドでやりたいじゃない? そこを解決してみる。 追記 2014/12/03 Start-Timerのスクリプトブロックに引数を渡せるようにした …

Powershellで雪でも降らせる

冬だし、Powershellで雪でも降らせるか、とスクリプトを書いてみた。 実行すると、私がぽちぽちドットを押して描いた雪の結晶が一つ、適当な位置から落ちていきます。 一番下まで落ちたら終了。

UWSCでタスクトレイ常駐する

公式掲示板にUWSCでタスクトレイ常駐する方法はないか、という質問があった。 需要があるようなので、考えてみた。 TEXTBLOCKの部分はPowershellなので、PowershellでNotifyIconを作成するサンプルでもあります。 追記 2014/11/21 高機能版に、親プロセス(=U…

Powershellでファイルを分割する

Powershellでバイナリーファイルを分割したくなった。 検索すると、ReadAllBytesで読込んでしまうのが出てきたので、少し修正した。 ついでに、テキストの行数分割もつけたけど、、、遅いし、UTF-16で出力されることに注意。 属性と最終更新日付も保持するよ…