読者です 読者をやめる 読者になる 読者になる

qshinoの日記

Powershell関係と徒然なこと

ComObject廃棄

ComObject廃棄 変数廃棄 Remove-Variable aaa 例 $x = New-Object -com Excel.Application $x.Visible = $True Start-Sleep 5 $x.Quit() [System.Runtime.Interopservices.Marshal]::ReleaseComObject($x) Remove-Variable x 参考 https://technet.microsoft…

Job Event for powershell

Powershell jobの終了通知 Register-ObjectEvent で終了通知可能。 Register-ObjectEvent $job -EventName StateChanged -SourceIdentifier ハンドラ名 -Action { アクション } 取扱物件は ターゲットジョブ ハンドラ ハンドラジョブ ハンドラを登録するとハ…

HostName, IPアドレス by powershell

ホスト名、IPアドレス取得 ホスト名 [Net.Dns]::GetHostName() $Env:COMPUTERNAME hostname (Get-CimInstance -Class Win32_ComputerSystem).Name IPアドレス Get-NetIPAddress [Net.Dns]::GetHostAddresses(‘’).IPAddressToString [Net.Dns]::GetHostAddres…

Powershell 改行

Powershell で改行なら、 $nl = [Environment]::NewLine 最近はOpenSourceになって改行コードが異なる環境でも動く様なので、移植性を考えて。

書式出力 by powershell

書式付き出力 -f 演算子 書式文字列 -f 引数 例) “Hi, {0}! I give you {1:d2} Yen. rn” -f “Taro”, 20 書式文字一覧 c 通貨 d 10進数 精度は最小桁数 e 浮動小数点数 n.nen精度=小数部桁数 f 浮動小数点数 n.nnn 精度=小数点以下 g 浮動小数点数 ne±n 精度=…

日付、連番をファイル名に by powershell

日付をファイル名に $now = Get-Date -Format "yyyy-MMdd-HHmmss" Write-Output "poi" | Out-File "memo-$now.txt" 連番をファイル名に 日付を打つのが面倒なので、連番をファイル名にする。先のが2行に対して2行多い4行。 $index = "index.txt" (Get-Date -…

des暗号化その2 by powershell

DES暗号化その2 by powershell 使い方から $in="password" $key="keyword" $des=get-des($in,$key) $undes=get-undes($des,$key) $in $des $undes 暗号 function get-des($in, $key) { $des = New-Object System.Security.Cryptography.DESCryptoServiceProv…

powershell module

Module Manifest ファイル名が .psd1 作成方法は3種類 人手作成 New-ModuleManifest コマンド テンプレートを写す 人手作成 こんな感じ '@{ModuleVersion="1.0"}' > myModuleName.psd1 New-ModuleManifestコマンド こんな感じ New-ModuleManifest myModuleNa…

wpf ショートカット

wpf

KeyBindingを使うらしい。 <Window.InputBinding> <KeyBinding Command="{Binding Path="CommandX" }" Gesture=""/> </閉じる> <... <MemuItem ... Command={Binding Path="CommandX"} /> 参考 MSDN解説 http://msdn.microsoft.com/ja-jp/library/system.windows.controls.menuitem.inputgesturetext.aspx こんな感じ? https://yone64.wordpres…</memuitem>

wpf selectall

wpf

メニューのSelectAll <ContextMenu> <MenuItem Command="ApplicationCommands.Cut" /> <MenuItem Command="ApplicationCommands.Copy" /> <MenuItem Command="ApplicationCommands.Paste" /> <MenuItem Command="ApplicationCommands.SelectAll" /> </ContextMenu> 参考 http://stackoverflow.com/questions/29694307/add-select-a…

IIS version

IIS

IIS 10.0 WS2016, Win10 8.5 WS2012R2, Win8.1 8.0 WS2012, Win8 7.5 WS2008R2, Win7 7.0 WS2008, Vista

IISアクセス権限 by Powershell

Powershellによるアクセス権限設定 Add-WebConfiguration "/system.ftpServer/security/authorization" -value @{accessType="Allow";users="?";permissions=3} -PSPath IIS:\ -location FTPFolder permissions=3 が重要で、"Read,Write"ではダメらしい。 pe…

アクセス権限

IIS

IIS FTP 何とかftp getが可能になったが、ftp put がファイルアクセス権限で失敗とのメッセージが表示された。 ここまでの作業 ftpサイト立ち上げ isolation.mode=3 No global vdir LocalUser\hogeディレクトリ作成 iisマネージャーでhogeに対しユーザーhoge…

IIS アクセス権限

IIS

IISアクセス権限 IISがファイルにアクセスする場合のアクセス権限について。 IIS7.0以降では基本的には下記の通り。 匿名ユーザーアクセス => IUSR 基本認証 => 認証ユーザー アプリケーションプール => IIS_IUSRS 但し、FTPサーバーが導入されると、IUSR_マ…

Firewall 再び

Powershell でファイアーウォール設定 取得 TBD 設定 FTP port 21 設定。 - Data portの許可に関しては別途。 if (-not(Get-NetFirewallRule | where Name -match "ftp")) { New-NetFirewallRule ` -Name "FTP-test" ` -DisplayName "FTP-test" ` -Descripti…

ftp by webclient by powershell

ftp up/download local.txtをftpサーバーに送信&受信 $user = 'me' $pw = 'pass' $url = 'ftp://host.jp/' $wc = New-Object System.Net.WebClient $wc.Credentials = New-Object System.Net.NetworkCredential($user,$pw) $wc.BaseAddress = $url $wc.Uploa…

Powershell カスタムオブジェクト

PowerShellカスタムオブジェクト パイプや戻り値で使われているカスタムオブジェクトをコードで意識的に作成する方法。 作成方法 Hashから変換 $obj1 = [PSCustomObject]@{ "Name" = "Tom"; "Age" = 29; } $obj1.Name 応用:hashから既存オブジェクト作成 Add…

WPF file open dialog

wpf

WPFのFileDialog OpenFileDialog() SaveFileDialog() Property title filter 下記の形式 コメント|フィルタ|コメント2|フィルタ2|以下同様 例 全てのファイル|.|ワードファイル|.doc;.docx FileName FileNames Method ShowDialog() 戻り値 true : OKがクリッ…

-noexit powershell

実行後に終了しないオプション。 参照 http://www.atmarkit.co.jp/fwin2k/win2ktips/1024psshrtct/psshrtct.html

アイコン作成方法 windows

PC

Windowsのアイコン作成方法 ステップは下記の通り アイコン画像を作成 ペイントなどで作成。 BMP画像 拡張子 .ico 32x32ピクセル 24bitカラー 対象のファイルやフォルダに適用 プロパティ →カスタムマイズタブ →アイコンの変更 →参照ボタン →先の.icoファイ…

PopUp Window by wpf powershell

wpf

PowerShell wpfでPopUp Window だがしかし、WinFormsのMenuを使っていたりして、ごった煮版。 info only <# ####### FOR INFO PURPOSES ONLY ####### ####### DOWNLOAD THE SCRIPT INSTEAD ####### ####### CONSOLE COPY/PASTE BREAKS FUNCTIONALITY #######…

menubar on wpf by powershell

wpf

メニューバー表示方法 Powershell の前にxamlとC#にて。 xamlで、Menuコントロールの配下に、MenuItemコントロールを配置。MenuItemの配下に更にMenuItemを配置。上位コンテナは、StackPanel, Gridや、DockPanelなど。 階層構造は、 Menu MenuItem Fileなど …

ftp client by powershell

ftp client Powershellのftp client PSFTP Set-FTPConnectionで設定登録 Get-FTPConnectionで接続 Get-FTPItem で読み込み Add-FTPItem で書き込み Get-FTPChildItemでls New-FTPItemでmkdir セッションを閉じる方法は? Code Import-Module PSFTP Set-FTPCo…

WPF binding

wpf

WPF/PowerShellでevent dataの使用法を探していて見つけた面白い記事。 参考 WPFデータバインディング http://blog.livedoor.jp/morituri/archives/54652766.html

Powershell イベント処理

PowerShellイベント処理/WPF PowerShellでのWPFイベントハンドラの登録は、コントロールの持つadd_xxxを使う。 $button.add_Click({Write-Host "poi"}) 引数 $this イベントソース $_. EventArgs 但し、最初のイベントソースは、EventArgs のSourceプロパテ…

PSSharper xaml editor

PSSharper Powershell の構文チェック。 1. PS read-only予約語への代入 2. 未定義変数の参照 3. 未参照変数 xaml editor previewができる模様。 参考 http://www.powertheshell.com/pssharper/

wpf イベント

wpf

大事なこと e.Handled=true; 忘れずに。 サンプルコード private void CommonClickHandler(object sender, RoutedEventArgs e) { FrameworkElement feSource = e.Source as FrameworkElement; switch (feSource.Name) { case "YesButton": // do something h…

wpf text scroll controll

WPFでコンソール出力の様なテキストを追加しつつスクロールするウインドウ。 TextBox + ScrollViewer xaml <TextBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" /> 表示は、 $textbox.AppendText(string) クリア $textbox.Clear() 参考 TextBox https://msdn.microsoft.com/ja-jp/library/system.windows…</textbox>

iosでバッククオート入力

ios

iPhoneでバッククオート iPhoneやiPadなどのiOSデバイスのソフトキーで入力に困った文字について。 iosのソフトキーボードには、バッククオートが表示されない。実は、シングル・クオート長押しで出てくる。 長押しで出てくる文字は他にもあるので、皆さんも…

windows ファイル権限

PC

Windows ACL icacls 省略形 icacls [file] /grant : 詳細 icacls <FileName> [/grant[:r] <Sid>:<Perm>[...]] [/deny <Sid>:<Perm>[...]] [/remove[:g|:d]] <Sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<Policy>[...]] icacls <Directory> [/substitute <SidOld> <SidNew> [...]] [/restore <ACLfile> [/c] [/…</aclfile></sidnew></sidold></directory></policy></level></sid></perm></sid></perm></sid></filename>

sha1 ハッシュ

$enc = [system.Text.Encoding]::UTF8 $string1 = "This is a string to hash" $data1 = $enc.GetBytes($string1) # Create a New SHA1 Crypto Provider $sha = New-Object System.Security.Cryptography.SHA1CryptoServiceProvider # Now hash and display …

des暗号 by powershell

des暗号化 by powershell Powershell のSecureStringはそのマシンのそのユーザーでしか復号できないので可搬性がない。 そこで、可搬性のある暗号化 # 変数定義 $inPath = "F:\Desktop\myTest.txt" $encPath = "F:\Desktop\Enc.txt" $decPath = "F:\Desktop\…

ウインドウ機能インストール by Powershell

Install-WindowsFeature import-module servermanager Get-WindowsFeature で確認し、 Install-WindowsFeature -Name xx -IncludeManagementTools -Restart -LogPath でインストール Add-WondowsFeatureは、Install-xx のAlias 参考 Technet https://technet…

ディレクトリコピー

PC

ディレクトリの再帰的コピー xcopy /S /E /F /G /H /R /K /Y SOURCE DESTINATION 参考 http://sonic64.com/2006-04-13.html

フォルダパーミッション

フォルダパーミッション設定 by powershell 基本操作は、acl取得、変更、acl設定。 実施例) 継承無効化 $folder = 'c:\tmp\myfolder' $acl = Get-Acl $folder $acl.SetAccessRuleProtection($true,$true) $acl | Set-Acl $folder 継承付きでフルコントロール…

IIS-FTP userisolation by Powershell

PowerShellによるIIS FTPサイト構築 前提 ユーザー分離はvdir非共有 $iso=3 Read/Write可 Win2012R2以降 情報取得 ls IIS:\ ls IIS:Sites\ ls IIS:\Sites\xx $site = Get-Item IIS:\Sites\xx $site $ftp = Get-WebConfiguration -pspath IIS:\Sites\xx $ftp …

Powershell デバッグ

Powershell Debug デバック機能一覧 write-host write-debug write-verbose write-progress Set-PSDebug Break point $host.EnterNestedPrompt() Write-Warning/Error write-host コンソール出力。 write-verbose $VerbosePreferenceにより挙動を変更可能。…

Powershell XML

XML 参考 https://msdn.microsoft.com/ja-jp/library/system.xml.xmlnodelist(v=vs.110).aspx https://msdn.microsoft.com/ja-jp/library/system.xml.xmlelement(v=vs.110).aspx#メソッド http://odashinsuke.hatenablog.com/entry/20090708/1247060185

Windows SSH

SSH 参考 http://www.powershelladmin.com/wiki/SSH_from_PowerShell_using_the_SSH.NET_library http://www.simpline.co.jp/tech/?p=542

Powershell WMI

WMI 参考 http://rtaki.sakura.ne.jp/infra/?p=1632

pppoeサーバー

pppoeサーバー centosの場合 yum install -y ppp rp-pppoe /etc/ppp/pppoe-server-options /etc/ppp/pap-secret /etc/sysctl.conf ifconfig eth0 0.0.0.0 up pppoe-server -I ethX -L 10.0.0.1 -R 10.1.1.1 -L サーバーIP -R リモートIP tail -f /var/log/me…

DNS

DNSについて 未だCache ServerとForwarding Serverの違いが分かっていない。 何方もAuthority がない? 参考 https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts DNS構築 https://www.designet.…

Powershell Join Object

Join Object 文字列-joinでは無く、ObjectのJoin. RDBMSのJoin機能 参考 https://blogs.msdn.microsoft.com/powershell/2012/07/13/join-object/

IIS FTPサイト構築 by Powershell

IIS-FTPサイト自動構築 Windows 2012R2 のPowerShell用IIS WebAdministration Moduleを使って自動構築を試みる。 これらをMSではPowerShell IISスナップインと呼んでいる。ここでは以後スナップインと呼ぶ。 スナップインは3つのカテゴリに分かれる。 プロバ…

Powershell FireWall設定

FireWall 参考 https://creativeweb.jp/tips/firewall-ftp/ http://ameblo.jp/memomemoag0u3/entry-11741667885.html https://technet.microsoft.com/ja-jp/library/dd939055.aspx

Powershell 外部プログラム起動

外部プログラム起動 現在の所、外部プログラムの起動方法は下記の5種類 Start-Process Start-Job Invoke-Expression & そのまま記述 同期実行 同期実行する方法 Start-Process -Wait window アプリケーションも同期可能 Wait-Job Start-jobで非同期実行した…

Powershell ダイナミックパラメータ

ダイナミックパラメータ Get-Command の動的な挙動 -ArgumentList による変化 参考 http://winscript.jp/powershell/?s=-argumentList

PowerDNS

PowerDNS Bindに飽きたので、今回はPowerDNS Poweradminと言うWebインターフェースもあるらしい。ただ、そんな事をしている時間が…。 既にBindが動いてるので、上げるとしたら別のマシン。空きマシンの確保も考えると、更に気が重い。 実行に移るのは少し先…

Powershell os version 取得

OS Version取得方法 [System.Environment]::OSVersion 或いは、 Get-WindowsEdition -Online -Verbose 正しく受け取れないケース http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074.aspx

環境変数

環境変数 PowerShell で環境変数操作 読み取り $env:namae 設定/session $env:session = “123” 設定/User Environmentクラスを使う [Environment]:: SetEnvironmentVariable("variable", "value", [EnvironmentVariableTarget]::User) 参考/set http://bakem…