2022年2月14日月曜日

◆2022/02/14 連想配列と一緒にフォーマット演算子のプレースフォルダを使う

ADのサブネットをコマンド設定するときに「New-ADObject」を使うようなのだが、その中で以下の様なプロパティがある

-OtherAttributes @{location="Building A";siteObject="CN=HQ,CN=Sites,CN=Configuration,DC=FABRIKAM,DC=COM"}


サブネットがたくさんあるとループしながらフォーマット演算子で可変部分を入れ替えてとなるのだが、フォーマット演算子と連想配列を一緒に使うとエラーとなる。

{}の扱いがよろしくない。


連想配列側の括弧を2重にすると良いようだ。{{hoge}}のように。

2021年11月19日金曜日

◆Out-GridViewの表示途中に画面を閉じると

Out-GridViewにデータをパイプしている最中(時間が掛かっている時)にGridの画面を閉じてしまうと(時間が掛かるからやーめたってパターン)Powershellが落ちてしまうようです。

以下と見るとBUGのようなので余り対策は無さげですが、

https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/dealing-with-out-gridview-bug

パイプするデータを予め変数に入れてから繋ぐか、メッセージを出してパイプが終わるまで待ってもらう感じですかね。

2021年8月25日水曜日

◆PowerShellスクリプトをExeに変換する

PowerGUIを使うとスクリプトを簡単にExeへと変換できるようだ。
(いつのバージョンから出来るようになったのか定かではないが、比較的最近だと思われる)

必ずしもPowerGUIの専売特許という訳では無さそうですが・・・。
Make-PS1ExeWrapper | Keith Hill's Blog

 

「ツール」メニューから「Compile Script...」を選んで
image

表示されたダイアログで保存先とオプションを指定するだけ。
image

同じ場所にConfigファイルも作られるようだが、とりあえず無くても動作はするみたい。

何かしら制限があるのか無いのか、使いこんだわけではないので判らないが、さしあたって実行ポリシーは回避できるようだ。

ちょっと便利かも。

Compileの下にServiceを作るメニューもある・・・。

----
最近ではPS2EXE-GUIあたりが良さそう(2021/08/25)

2021年8月20日金曜日

2021年7月12日月曜日

◆Powershellを別の資格情報で起動withParam

Start-Process powershell -cred $cred -ArgumentList "$startPath '$更新IFファイルFullpath' '$func'"

2021年6月29日火曜日

ActiveDirectory 未入力を判定するFilter

-filter 'comment -notlike "*"'

2021年6月7日月曜日

◆Export-Excel

# インターネットに繋がっていないと使えない(最初の1回のみ必要) Install-Module -Name ImportExcel -Force Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties "SamAccountName","msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "name", @{Name="Password Expiry Date"; Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} | Foreach {[Array]$Users += $_} $Users | Export-Excel .\test.xlsx