PowerShell Core 6.1 Preview.4からMarkdownを扱う以下のコマンドレットが追加されました。 ConvertFrom-Markdown Show-Markdown Get-MarkdownOption Set-MarkdownOption これらのコマンドレットを使うとMarkdownのドキュメントを解析し、HTMLまたはコンソールに表示することができる様になります。 実装方法は前回説明したThreadJobとは異なりPowerShell Core本体(Microsoft.PowerShell.Utility.dll)に実装されています。 このためWindows PowerShellでこれらのコマンドを利用することはできません。 また内部的にMarkdigを利用しています。github.com 機能説明 まずは各コマンドの機能説明をします。 ConvertF

タスクスケジューラは、現在でもGUIで設定している方が多いですね。 一台や二台にやるならいいのですが、10台100台の時はどうするのかが課題です。Linuxにはcronがあります。Windowsには、Windows XP, 2003以降schtasks.exeがat.exeに変わりあります。 末ジュールタスクはPowerShell 3.0でも操作できます。(PowerShell2.0ならPSK Moduleで) 今回は、複数台でのタスクスケジューラの自動登録、実行などの方法を紹介します。 毎回同じ操作をAutomateする。こういう身近な作業からPowerShell普及を進めていきたいものです。GUIGUIのスケジューラタスクは誰もが知っている画面でしょう。一応Windows Server 2008からcontrol panel直下ではなくなっているので紹介しておきます。 Windo

各種イベントログを取得して時系列にソートを掛けたい要件があったので、サンプルを作った。 今回はSystemログを2回取得して配列A・Bに格納しているが、 イベントログのデータ構造は、ApplicationログもSecurityログも同じ(記事の下の付録参照)。 よって、別々の種類のイベントログであってもシンプルに配列を結合することで実現が可能。 PowerShellは配列同士の"+"演算で配列の結合ができるため実装が大変シンプルになる。 (同じデータ構造を持ってくれているおかげで余計にデータを捏ねる必要がなくなって好都合だ) 以下のスクリプトは$todayの日付以降の最新のログを10件取得する仕様になっている。 $today = Get-Date -Format "yyyy年MM月dd日" $lognum = 10 # 結合した配列を作るための配列A $Events_A = Get-Eve

# コントロールサイズ $cWidth = 70 $cHeight = 25 # コントロール間のマージン $xMar = 5 $yMar = 5 # 画面サイズ $formWidth = 0 $formHeight = 0 # 画面のマージン $formMarx = 15 $formMary = 15 # コントロール配置座標 $xPos = $xMar + $formMarx $yPos = $yMar + $formMary $tmpArr = $Args[0].split(".") $winTitle = $tmpArr[0] #windowsフォーム Write-Output ("Add-Type -AssemblyName System.Windows.Forms") Write-Output ("Add-Type -AssemblyName System.Drawing")

PS C:\Users\Administrator> $PSVersionTable Name Value ---- ----- PSVersion 5.1.17763.1007 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}BuildVersion 10.0.17763.1007 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 #LogName で指定出来るログの種類を確認 PS C:\Users\Administrator> Get-EventLog -List Max(K) Retain OverflowAction Entries Lo

サマリーWindowsTerminal いれた PowerShell 7 系にしたVSCode の Shell を pwsh にした 良かったこと いい加減 cmd.exe 使うなの時勢 ハイライトなど、表示が綺麗 / でも補間が効く(\に書き換えてくれる) grep 感覚で sls (Select-String) が使える デメリットが特にないWindowsTerminal いれた タブが使えたり、cmd.exe や PowerShell などの切り替えが出来るターミナル。これだけでも入れた方がいい。 Store アプリからWindowsTerminal を検索して、preview じゃない方を入れる。([WindowsTerminal (v0.7 ~ v1.0) メモ](WindowsTerminal (v0.7 ~ v1.0) メモ) によると preview の方

概要 ファイルの削除失敗時の処理を実装する場合など、動作の検証用として削除できないファイルを作りたいことがあると思います。Windowsのファイルのプロパティのアクセス許可からGUIの操作で削除を禁止することもできますが、本記事ではicaclsコマンドを使用した方法を紹介します。 icaclsコマンドとはIntegrity Control Access Control Listの頭文字を取ったWindowsのネイティブコマンドです。 ファイルやフォルダーのセキュリティ記述子の表示や変更を行うことができます。 このコマンドはWindows Server 2003以降であれば使用できます。 ファイルの削除を禁止するための手順 1. ファイルの所有者を確認する PowerShellのGet-Aclコマンドが便利ですので、このコマンドを使用して削除を禁止したいファイルの所有者を確認します。 コ

私は、たま~にPowerShellを使うのですが、いつの間にかWindowsのコマンドプロンプトに戻ってしまいます。 PowerShellは、使えば便利な気がする、少なくともコマンドプロンプトよりも便利なはずなので、もっと普段からPowerShellを使うために、普段の作業に使えそうなコマンドなどをメモしてみようと思います。 言語機能 データ操作 文字列操作 $number = 123 $str = "abc" # 文字列組み立て "${number}`t${str}" #=> "123 abc" '${number}`t${str}' #=> "${number}`t${str}" "$($number * 2) $($str * 2)" #=> "246 abcabc" "{0:D10}" -f $number #=> "0000000123" $number.ToString().P

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く