ラベル powershell の投稿を表示しています。 すべての投稿を表示
ラベル powershell の投稿を表示しています。 すべての投稿を表示

2023年4月19日水曜日

Powershellで指定フォルダ配下の.png画像ファイルを.jpgに一括変換する

はじめに

PNGファイルをJPEGに変換する方法にはいくつかの方法がありますが、Windowsのデフォルト機能だけで実現したい場合は、PowerShellを使用することができます。本記事では、PowerShellを使用して指定ディレクトリ配下のPNGファイルをJPEGに変換する方法について解説します。

2023年4月18日火曜日

Powershellで空のフォルダを一括削除する

ファイルをディレクトリを掘って分類して保存していると、よく起こるのが、ディレクトリ開けてみたら空っぽでムカつく問題。

GUI上で開けてみないとディレクトリがからなのは分からないので地味に怠いですよね。そんな時はPowershellで空っぽのディレクトリを削除してしまいましょう。

PowerShellを駆使してイベントログの異常検知をさらに深堀り

イベントログは、Windowsシステム上で発生する様々なイベントを記録する重要な情報源です。前回の記事では、PowerShellのGet-EventLogコマンドレットを使って、イベントログを解析し、異常なアクティビティやセキュリティインシデントの兆候を検出する方法を紹介しました。今回は、さらに時間軸集計に役立ちそうな絞り込みや発生源での抽出方法などを紹介します。

2023年4月17日月曜日

Test-NetConnectionコマンドレットの主な使い方 | Windowsネットワークのトラブルシューティングに

Windowsネットワークのトラブルシューティングに時にPowershellだけでもいろいろな事が実は確認できます。

中でもTest-NetConnectionコマンドレットは使い方を覚えておくと、役立つ場面があるため主要な機能を紹介します。

また実はTest-NetConnectionコマンドレットでICMPも送れる事は、意外と気づいていない人も多いのではないでしょうか。(ping 8.8.8.8等と半ば無意識で手が動く様な世代の人は特に。)

PowerShellを使ってCSVファイルをJSONファイルに変換する方法(ついでにXMLも)

前回CSVファイルを読み込んで編集する方法を紹介しました。

今回はそのCSVで読み込んだデータをJsonに変換して出力するやり方です。

実は調べてみたら超簡単でした。

2023年4月16日日曜日

PowerShellでCSVファイルを操作・編集・保存する方法

CSVファイルを読み込み、加工し、出力する方法をPowerShellスクリプトを使って解説。

CSVファイルは、データのインポートやエクスポートに頻繁に使用される形式です。PowerShellを使うと、CSVファイルの操作や編集を簡単かつ効率的に行うことができます。この記事では、CSVファイルを読み込み、加工し、出力する方法をPowerShellスクリプトを使って解説します。

2023年4月14日金曜日

PowerShellを活用したイベントログの異常検知方法

イベントログは、Windowsシステム上で発生する様々なイベントを記録する重要な情報源です。PowerShellのGet-EventLogコマンドレットを使って、イベントログを解析し、異常なアクティビティやセキュリティインシデントの兆候を検出する方法を紹介します。

2023年4月12日水曜日

PowerShellで時短!業務効率を最大化する便利な小技5つ

はじめに

Windows環境で作業効率を向上させるツールとして、PowerShellは非常に優れています。今回は、PowerShellを用いた時短術や便利なスクリプトを紹介します。これらを活用することで、業務効率を最大化しましょう!

2023年4月9日日曜日

Powershellでファイルのメタデータを取得する方法

Powershellを使用してファイルのメタデータを取得する方法について説明します。Get-ChildItemコマンドレットを使用することで、指定されたフォルダー内のファイルのリストを取得し、ファイル名、作成日時、サイズ、属性などのメタデータを取得することができます。

以下は、ファイルのメタデータを取得するためのサンプルコードです。

2023年3月22日水曜日

Powershellでフォルダ内のファイル名の特定の文字列を一括置換でファイルをリネームする

この記事では、PowerShellを使ってフォルダ内のファイル名に一括で文字列を置換し、ファイルをリネームする方法を紹介。ただし、日本語のフォルダ名やサブフォルダがある場合には、うまく動作しない可能性があるため、要注意。

2023年3月20日月曜日

Powershellで指定ディレクトリ配下の同一内容ファイルをリストアップする

またChatgptに作らせてみたシリーズ。

Powershellで指定した拡張子のファイルの複製をリストアップするスクリプト。

$basePath = "C:\tmp\"
$fileExtensions = @(".jpg", ".jpeg", ".png", ".bmp", ".gif")

# Get all files recursively
$targetFiles = Get-ChildItem $basePath -Recurse | Where-Object { $_.Extension -in $fileExtensions }

# Group files by content hash
$hashGroups = $targetFiles | Group-Object { (Get-FileHash $_.FullName).Hash }

# Filter groups that have more than one file with the same hash
$duplicateGroups = $hashGroups | Where-Object { $_.Count -gt 1 }

# Display information about duplicate files
foreach ($group in $duplicateGroups) {
    Write-Host "Duplicate files with hash $($group.Name):"
    foreach ($file in $group.Group) {
        Write-Host "  $($file.FullName) (size $($file.Length))"
    }
}

basePath fileExtensions を編集すれば各自の用途に応じて利用可能。

chatgptはハッシュ値で似たfileも検出できる的回答をしていたが、それは仕組み的に違うと思うが、同一ファイルなら使える事を確認済み。

丸っと信じられるレベルではないがやっぱり生産性は高い。

ちゃんと真贋を見極める知見さえあれば使える。

以下動作の解説。

2021年5月1日土曜日

Excel VBAでPowershellスクリプトを引数付きで実行する方法

以前こちらの記事で参考にしたソースコードでは一部うまく行かないケース(ps1スクリプトに与える引数が正しく渡せない)があったので動くように改善してみました。

Excel VBAからPowershellスクリプトを引数付きで実行する方法について解説します。関数化して、汎用性を持たせることで、複数のスクリプトを扱う場合やpowershell側の期待する引数の数が幾つの場合であっても簡単に実行できる様にしています。

2021年4月7日水曜日

Powershell+Excel VBA周りの( ..)φメモメモ

Excel VBAから引数を渡す.ps1スクリプトを呼び出してExcelマクロで全体の処理をハンドリングするための材料調査。

という事でそこそこ簡単に実現できそうだ。

調べた内容は次の二点。

やりたい事①:VBAからのPS1スクリプト呼び出し。

やりたい事②:PS1スクリプトで引数を受けるお作法

2021年3月13日土曜日

ServiceNowの添付ファイルをPowershellでダウンロード

Servicenowのいろんなアプリの記事(インシデントチケットでもナレッジ記事でも)にはおおむね添付ファイルが付けられる。

一般的なファイル形式であればServicenow上で全文検索も可能で便利ではあるがServicenowの外で添付ファイルを扱いたいケースもある。そんな場合は添付ファイルを探してダウンロードという作業を繰り返す必要がある。

API経由でごそっとダウンロードできればそんな面倒が解放されるはずなのでPowershellで試してみる。

2021年3月6日土曜日

.ps1ファイルをダブルクリックで実行できない? PowerShellでのスクリプト起動方法とは

.batや.vbsファイルの場合、ダブルクリックすることでスクリプトを簡単に起動することができますが、.ps1ファイルの場合、標準ではダブルクリックで起動することができません。この記事では、PowerShellでのスクリプト起動方法について紹介します。

2021年3月4日木曜日

PowerShellでServicenowのAPIをたたいてデータをエクスポートする

さて前回に引き続きServicenowにインターネットに口のないURLからデータをダウンロードしてPCで中継してSNOWのテーブルへ更新インポートする様な仕組みを作らねばならなくなった(執筆時点では出来るかどうか不明)、という状況。

前回データ提供元のInternal環境のURLからファイルをダウンロードする事には成功したので、今回はServicenowからマージ(上書き)対象のデータをゲットすることとしたい。

インポート→更新、からダウンロードできるSysid付きのエクセルが落とせればベストなのだが、残念ながら現状方法が見つけられなかった。

が、一応代替手段っぽいことは出来たのでそれで行く。言語はPowerShellで続行。

2021年3月3日水曜日

PowerShellのスクリプトをタスクスケジューラに登録し定期的に指定のURLからファイルをダウンロードする

ひょんなことから限られたリソース・期間でServicenowにインターネットに口のないURLからデータをダウンロードしてPCで中継してSNOWのテーブルへ更新インポートする様な仕組みを作らねばならなくなった(執筆時点では出来るかどうか不明)。

(きっかけはServicenowだが本記事では基本的にWindowsのPowerShellでネットワーク上のファイルをタスクスケジューラを使って定期的に自動取得する仕組みを検討している)

まず今回は元ネタになるファイルのダウンロードの仕組みから検討してみる。

制約条件はWindows10を使用し追加のソフトウェア購入予算無し。

必然的に選択肢は.batか.ps1か.vbsあたりが想定される。

.batでもよいが、将来単なるダウンロードではなく、ログインやら条件分岐やら複雑な事をやろうと思ったときに、スクリプトが困難になる恐れあり、VBSは悪く無いが、経験上今一安定的に動かす用途には難しそう、かつMSさんはvbsを止めたがっている疑惑が個人的に止まらない。

という事でコマンドが直感的に打ちにくくて好きではなくこれまで敬遠してたが、PowerShellでやってみることにする。

2020年11月27日金曜日

Edge(Chromium版)でGUI操作を自動化する方法を探る(執筆途中:参考資料)

今までWindowsでウェブ関連の自動化をしたいときの定番と言えばIE+VBS/VBAでIEオブジェクトを操作するって感じだったが、そろそろEdgeネイティブ対応のシステムが出てきたり、IE捨てろ圧が各所で高まってきてたりしており、場面によってはEdgeでの自動化が必要となる場面が出てきているように思う。

残念ながらメモ帳でVBSを頑張って記述するだけで一応自動化できたIEとは違い、 Webdriver という仕組みを使うのがEdgeの場合の自動化手段となっている様だ。

ウェブサイトのURLにおけるトレイリングスラッシュの解釈と有無による動作の違い

インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...