命名って難しい

変数、関数、クラスなどなど実装より命名に毎回悩むタイプの人間による技術についてのメモ。

PowerShell

PowerShellでEDINETのAPIを叩く(開示情報)

株式投資や取引先管理など、開示情報が必要な時があります。 そこで電子的な方法で閲覧するためのサイトがEDINETです。 disclosure.edinet-fsa.go.jp EDINETにはWebAPIがあるので、今回はこれを呼び出してデータを取得してみます。 環境 まずは規約から API …

PowerShell5.1でLINEWORKS API2.0を叩く!JWTで苦労したService Accountのアクセストークン取得編

弊社採用のLINE WORKSなのですが、今までAPI1.0を利用していたのですが、廃止予定が迫ってきたのでAPI 2.0を触りはじめました。 developers.worksmobile.com LINE WORKS API 2.0のリリースに伴い、LINE WORKS API 1.0は2023年4月30日をもって提供を終了いた…

PowerShellで作ったモジュール(psm1)をプライベートなリポジトリに発行して開発チームで共用する

今日はPowerShellを。 1つの処理の流れで複数のスクリプト(ps1)で共通して使う処理をモジュール (psm1)にまとめて実装することがあります。 それらのモジュールは公開されたPowerShell Galleryに発行することで、Install-Moduleコマンドを使って、世界中で…

Powershellでpythonをセットアップしつつ、SQL Serverのテーブルなどの定義をスクリプトに出力するパッケージを実行するPowershellスクリプト

新しい社内アプリケーションを作る際、データベースも含めバージョン管理したいと思い、SQL ServerのDDLを出力する方法を色々調べていました。 今まで、SQL Server Management Studioを利用し、GUI上で操作していたのですが、コマンドラインで実行できるもの…

Powershellで編集可能なJSONを読み込む関数を作りました!&Pester環境を更新

以下のようなことをしたい状況がありました。 JSONを読み込む Object型の要素に新しい値を加える 編集した内容でJSONを保存する しかし、PowerShell標準のコマンド ConvertFrom-Json で取得したオブジェクトは配列を除き編集できません。それを編集できるよ…

CSVを読み込んでSQL Serverの列のデータ型候補を生成するPowershellスクリプトを書いた!テストした!GitHubにアップした!

ハイテンションタイトルです。 自社の謎システムの出力や取引先提供のCSVで列の型が分からないものがあります。 今まではテキストで全部取り込んで、テストしながら少しつづテーブル定義を更新してインポートできるテーブルを作っていました。 現在いくつも…

Windowsのpython開発で仮想環境(venv)・VSCode向けの設定・.gitignoreをセットアップしてすぐ開発できるようにするスクリプトを書いてみた

最近プライベートで勉強を兼ねてpythonで1つのツールを開発しています。 普段デスクトップで開発をしているのですが、外出先でも開発できるようにノートPCも使うようになりました。 新しい環境で開発を開始するとき、仮想環境と設定といろいろと面倒なこと…

PowerShellで訳わからん状態になっている共有フォルダのアクセスを少し監視した。

共有フォルダに格納されている特定のファイルを作っているマシン/アプリが不明なので調査したい。 もくじ 環境 意図 やったこと PowerShell実装 参考 イベント処理

PowerShell&Seleniumでネットショップの価格調査、初売りセールからの追加値下げを見たい。

新年あけました。 今年は福袋など買わず、ゆっくりと体を休めていました。 欲しい靴が某ECで初売りセールだったのですが、ネットでは「1/10前後で初売りセールよりまた安くする」というのを聞いたので PowerShellとSeleniumを使って巡回してデータを集めて、…

Wi-Fi Arubaのshow clientsを取得してDBに入れて見える化するまで

無線アクセスポイントが場所により遅いなどトラブルがあり、手作業でログを取得して解析しているチームがあったので、以下の点で手伝ってみました。 自動取得からDB取り込み 見える化(Power BI) 目次 目次 目的 やったこと 自動取得からDB取り込み データ…

弊社現場レベルで使えるであろう簡単な社内FAQページを作った

経緯 新しい施策を社内で行うと問い合わせが増える。 その問い合わせがある程度蓄積してきたのでFAQを立てようと思い作りました。 あくまで弊社現場レベルなのでレベルは高くありません。 経緯 環境 作ったもの 全体像 ExcelのFAQ台帳 PowerShellスクリプト …

PowershellでCSVをExcelファイルに転記する

状況 DBの特定のテーブルをちょっと結合したりなんかして特定フォーマットのExcelに出力して欲しい こんな要件が結構あります。 私が入る前はこんな感じの要件1つに付き1つアプリ組んでたんですね。 今回そんな感じのを頼まれたので、できるだけアプリを組…

PowershellからVBScriptの連係

社内でエクセルファイルを取り扱う時VBScriptが実装楽で早い(Excelオブジェクトの開放など)時が多く、 それ以外についてはPowershellが実装が楽です。 連係を円滑に行うための流れを調べました。 連係のための関数・変数 Powershell コマンドの実行 コマンド…

Powershellで古い形式のExcel(xls)を新しい形式(xlsx)に変換する。

概要 下記の記事で作ったものと似たものを簡潔に書いてみました。 notshown.hatenablog.jp 実装 ソースコード $ErrorActionPreference = "Stop" # 例外が出たらその時点で即終了 $srcDir = (Resolve-Path $args[0]).Path $dstDir = (Resolve-Path $args[1]).…

Powershellで複数のCSVファイルを特定の列で1つのファイルにマージ

概要 以下2つのCSVを共通の列名"HeaderA"でまとめたCSVにしたい! A.csv HeaderA,HeaderB ValueA,ValueB B.csv HeaderA,HeaderC ValueA,ValueC 以下Powershellスクリプトで実現。 get-childItem "*.csv" | foreach { Import-Csv -Path $_ | Select HeaderA …

Windows Server 2008 R2 の PowerShellをアップデートした。

方法 下記URLを参照し、.Net FrameworkとWindows Windows Management Framework 4.0をインストールするだけ。 Step by Step Upgrading the Powershell Version 4 on 2008 R2 - TechNet Articles - United States (English) - TechNet Wiki 気をつけないとい…

Powershellでタスクスケジューラのタスクをまとめてエクスポートするスクリプト

サーバーに多数タスクが登録されているのですが、 何かあった時のためにタスクをエクスポートし、バックアップしようと思い作成。 前提 以下の環境を前提とします。 Scheduled Tasks Cmdletsが使える ソースコード $taskBasePath = "\MyTask\*" $taskSaveDir…

チートシート的メモ

概要 1,2行のちょっとしたコードをまとめる。 ちょいちょい更新していく。 PowerShell 現在のスクリプトのディレクトリを取得する。 Split-Path $MyInvocation.MyCommand.Path # pushd %~dp0と同じ処理 Push-Location -Path (Split-Path $MyInvocation.MyCom…

Powershellでバッチ処理の時に日時をらくに取得する。

powershell -Command "$(Get-Date).ToString('yyyyMMdd_HHmmss')" > %temp%\ret set /p ymd=< %temp%\ret .Netに慣れているため、このスタイルで日付にできると楽でいいですね。 あと最近TEMPフォルダに結果をリダイレクトして変数に戻してくる方法が楽で使…

PowerShellで現在参加しているドメインの各メンバーのパスワード期限を取得する。

下記記事で環境構築しておきながら全部どっとねっとで済ましてしまった。 notshown.hatenablog.jp SamAccountNameと残り日数CSV出力にしてなんやかんやする予定。 ソースコード Add-Type -AssemblyName System.DirectoryServices Add-Type -AssemblyName Sys…

Windows7にPowerShell用のActiveDirectoryモジュールをインストールする。

ADサーバーにデフォルトでインストールされているPowershellのADモジュールをWindows7でも使いたい。 手順 手順については以下のURLを参照した。というかそのままです。 How to add Active Directory module in PowerShell in Windows 7 – SharePoint and Ot…

PowerShellで実行中のPCのActive Directoryのパスワード期限を取得する。

ADのモジュールはADサーバーしかインポートできないみたいですね。 ということで.Netを利用して作りました。 Add-Type -AssemblyName System.DirectoryServices $adPath = [string]::Format("WinNT://{0}/{1}", [System.Environment]::UserDomainName, [Syst…