qshinoの日記

Powershell関係と徒然なこと

powershell

書式指定演算子

Powershell 書式指定演算子 $string -F 値,値,… 文字列内の{<数字>}を値に置換する 例 “http://{0}/{1}/” -F “a”,“b” -> http://a/b/ 数字 “金額: {0:##.###}” -F 12.2, 13.56789 MSSN https://msdn.microsoft.com/ja-jp/library/dwhawy9k.aspx 標準日時書式…

Powershellユーザーアカウント

ワークグループ環境におけるユーザーアカウント制御 ADSIでゴニョゴニョすればできる。 ADSIって何? ADSIはActiveDirectory Service Interface 所謂Directory ServiceのAPI LDAP, IIS, WinNT, NDSが使える。 PS 3.0以上用 Get-CimInstance使用 http://tech.…

ユーザーアカウント

windowsユーザーアカウントの追加変更パスワード変更 追加 net user xx pass /add パスワード変更 net user xx pass ユーザー削除 net user xx /delete ランダムパスワード net user xx /random ランダムなパスワードを設定して表示する。 アカウント無効化 …

Powershell IPアドレス変更

基本手順 1. Net Interface取得 1. 削除 2. 設定 コマンド 1. IF情報取得 Get-NetIPInterface ifIndexとalias一覧取得 2. 削除 Remove-NetIPAddress -InterfaceIndex <index> -IPAddress "<Host-IP>" -DefaultGateway "<GW-IP>" Set-DnsClientServerAddress -InterfaceIndex <index> -Reset</index></gw-ip></host-ip></index>…

プログレスバー

Powershellのプログレスバー Write-progress により表示される。 $all = ls "¥" $cnt = 0 foreach ($a in $all){ Write-Progress -activity "長い処理" -Status "頑張ってます" -PercentComplete ($cnt++ * 100 /$all.length) -CurrentOperation ($a) } 下記…

フルパス化

Powershellで相対パスを絶対パス化 $full = [System.IO.Path]::GetFullPath( <path>) http://dobon.net/vb/dotnet/file/getabsolutepath.html</path>

PS:web認証

Powershell Web認証 Powershell的な方法 $req = [system.Net.WebRequest]::Create($url)# method 1 $req.UseDefaultCredentials = $true# method 2 $req.Credentials = new NetworkCredential($username, $pwd, $domain); try{ $res = $req.GetResponse()}ca…

関数戻り値

Powershell functionの戻り値はとっても面倒。 まずは下記を読んでみて下さい。 http://winscript.jp/powershell/253 特に、『実はPowerShell関数内で値が出力されると、returnキーワードがついてなくてもすべて呼び出し元に出力されるという仕様なのです。…

xml dot記法の戻り値

Powershell xml dot記法の戻り値 Dot記法とは、xx.poi の様な記述方法。 例) poi.xmlが <poi><qwe/></poi>で、 [xml]$doc = get-content poi.xml $poi = $doc.poi Powershellのdot記法の戻り値は 下記の通り。 1. 指定エレメントが空またはテキストのみの場合、[string] 2. テ…

filterとfunction

powershell のfilterとfunction Functionは良くある関数として、filterって何? 簡単に言うと、FunctionのProcessのみの簡易版関数。 Processって何? Powershellに於けるFunctionの構造を再度確認すると、下記の通り。但し、Begin/Process/Endの表記が無け…

null破棄

powershell null破棄 方法 1. [void] 2. > $null 3. $null = 4. | out-null 性能的には4. out-nullが2〜100倍遅い模様。 out-null 以外ならどれでも大丈夫? 下記参照 http://tech.guitarrapc.com/entry/2013/03/12/080349

未だリソース解放

リソース解放方法 new-object <class> のリソース解放。 class 構文で定義した場合、IDisposableを実装した上で、.dispose()を実行。 cmdletは実装している模様。 http://winscript.jp/powershell/309。 下記参照 http://winscript.jp/powershell/309</class>

Comオブジェクトの生成解放

生成方法例 $xls = New-Object -ComObject Excel.Application 解放方法例 [System.Rumtime.InteropServices.Marshal]::ReleaseComObject($xls) 下記参照 http://m0t0k1x2.tumblr.com/page/7

Powershell remove-typeなし

Powershellにはadd-typeはあるが、remove-typeがない。 そのため、一度ロードしたアセンブリの解放はできない。但し、appdomainは解放できる。 回避策は、appdomainを変えてロード。 例えば、 1. 子Powershellを起動 2. ISEでCTRL-Tでrunspaceを変更 3. Star…

ロード済みアセンブリ取得方法

Powershellでクオータが不足しいています、と表示され犯人探し中。 Powershellでは、一度ロードしたアセンブリの解放はコンソールが終了する時らしいので、重複ロードされている可能性があり、その調査用。 まずはアセンブリの重複ロードを疑う。そのため、…

型演算子 -is -isnot

powershell 型演算子 "123" -is [system.string] -> True @() -is [object[]] -> True @() -is [Array] -> ??? 下記参照 http://blog.livedoor.jp/akf0/archives/51323690.html

wpf grid

WPF Grid コントロールの使い方 Grid はWPFコンテナ 例) <Grid ShowGridLines="True"> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.RowDefinitions> <Button Content="OK" Grid.Row="1" Grid.Column="2" /> </Grid> 各行列…

Powershell module

Powershellのモジュール作成方法 目次 1. モジュールファイル名 2. 保管フォルダ 3. 関数公開コマンド 4. ヘルプ 5. Manifest 6. モジュール引用方法 1. モジュールファイル名 *.psm1 例) poi.psm1 2. モジュール保管フォルダ 下記グローバル変数内のフォル…

暗号化/復号化関数

$cert: 証明書/暗号:公開鍵、復号:秘密鍵 $plain: 平文 encrypt_(): Base64暗文 $encb64: Base64暗文 decrypt_(): 平文 Function encrypt_by_cert( $cert, $plain ){ Add-type –AssemblyName System.Security $bytes = [Text.Encoding]::UTF8.GetBytes($plai…

cmdletbinding

powershell の[cmdletbinding()] これを記述する事で、write-verboseやwrite-debugが使用できる。 --- パラーメータ記述 1. [parameter()] デコレーター 2. [switch]指定 1. [parameter()]デコレーター Mandatory = $true or $false Position = <number> 2. [switch]</number>…

powershell xls 2

Check out my PowerShell Excel Module on Github. You can also grab it from the PowerShell Gallery. $stores = Import-Excel C:\Temp\store.xlsx $stores[2].Name$stores[2].StoreNumber$stores[2].EmailAddress '''All stores''----------'$stores

powershell xls 1

ExcelファイルをCOMオブジェクトで読む。 $xls = "a.xls" #new $eo = New-Object -ComObject Excel.Application $book = @() # open$eo.Workbooks.Open($xls) | %{ # sheets $sheet = @() $_.Worksheets | %{ # rows $row = @() $_.UsedRange.Rows | %{ # co…

powershell path

powershellにおける実行ファイル検索パス $env:path パスを追加 $env:parh += ";c:¥usr¥bin¥" 恒久的に追加 [Environment]::SetEnvironmentVariable('PATH', $env:path, 'Machine') 最後のMachineは省略可。 なお、powershell script もパスから検索可能。ま…

powershell xml 結合

powershell でxmlを結合。 $root ルートノード名 $out 出力ファイル名 $xmls 入力xmlファイル名の配列 function merge_root ($root, $out, $xmls) { $m = "<" + $root + ">" foreach ($f in $xmls){ [xml]$x = get-content $f $top = $x.firstchild $m += $t…

powershell xml 要素取り出し

powershellでxml要素取り出し 基本は doc に対して -> firstchild -> childnodes -> foreach -> $_.name と$_.innertext 例) mono.xml の内容 <top> <iro>ao</iro> <omosa>10</omosa> </top> powershell $doc = [xml](get-content "mono.xml") $root = $doc.firstchild $children = $root.ChildNod…

powershell serialport

下記参照 https://blogs.msdn.microsoft.com/powershell/2006/08/31/writing-and-reading-info-from-serial-ports/ 上記は同期のみ。非同期はeventを使えとの事。 次回はpowershell event処理。

powershell passwd

powershellでのパスワードの扱い 案0. get-credentialでsecurestring作成 securestringを保管 securestringを復号して使用 案1. RSA公開鍵暗号 案2. RSA公開鍵暗号+コンテナ 案3. 証明書による暗号化 ホストにより異なる 暗号化: サーバの公開鍵で暗号化 復…

powershell証明書暗号化

※ この投稿は PowerShell Advent Calendar 2011 に参加しています。 証明書というと、つい SSL で使用するサーバー証明書を思い浮かべてしまいますが、パスワードを暗号化してどこかに格納しておきたいとか、パスワードを誰かに伝えるために暗号化して渡した…

powershell 証明書復号

高梨さんblogから。 【PowerShell】証明書を使用してパスワードを暗号化する 前回の投稿では、自己署名証明書を作成し、その証明書を使ってパスワードを暗号化しました。 今回は、前回暗号化したパスワードを証明書を使用して復号してみます。 前回は、makec…

powershell get-credential

https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.security/get-credential PowerShell PowerShell search finderTable of contentsGet-Credential JuanPablo Jofre|Last Updated: 12/17/2016IN THIS ARTICLESYNOPSIS Gets …