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

qshinoの日記

Powershell関係と徒然なこと

powershell

TCPconnection by Powershell

TCP by Powershell 手順 new tcpclient stream to reader check .Connected read(buffer,0,size) Write $tcpConnection = New-Object System.Net.Sockets.TcpClient($FTPServer, $FTPPort) $tcpStream = $tcpConnection.GetStream() $reader = New-Object Sy…

LinuxからWindows制御

LinuxからWindows制御 winexeが使える。 コンピュータ名 hunnyの場合。 winexe -U hunny/Administrator%poi //192.168.1.1 "echo Oha-" 開放が必要なポート 135/tcp(RPCエンドポイント・マッパー) 445/tcp(ダイレクト・ホスティングSMB) 1025~65535/tcp…

非同期実行 by powershell

非同期実行 by powershell RunSpace Start-Job Start-Process AppDomain 独立アプリ起動 System.Diagnostics.Process 非同期中、標準入出力を制御できるもの。 Start-Job : receive-job Start-Process: ファイル指定 Process: Stream 終了値を取得できるもの…

SSH by Powershell

ssh by powershell ssh.net + PowerShell opensshも出ているが、PowerShellで使うにはモジュールの方が便利かもしれない。 参考 http://www.powershelladmin.com/wiki/SSH_from_PowerShell_using_the_SSH.NET_library

AppDomain再び

AppDomain再び PowerShellによるAppDomain制御。 ちょっと古い記事。10年前のもの。 by oising 2007/12/07 As knowledge of PowerShell increases for those new to .NET, there comes a point when people start to notice some shortcomings of the Assemb…

PowerShell Action delegate

PowerShell Action delegate Action/Funcはdelegate型 Action : 戻り値なし、引数なし。 Action: 戻り値なし、引数1 Func<T,TResult: 戻り値1,引数1 PowerShellでは [action] [action[int]] [func[int][int]] ? or func[int,int]] ? Funcの例 Func<T,TResult> using System; public class GenericFunc { public static void Main() { // Instantiate deleg…</t,tresult:>

WPF ShowDialog()中の非同期イベント

ShowDialog()中に非同期イベントを処理できない。 Powershell でWPFのShowDialog()を処理中に非同期イベントが発生しても処理されない件、原因不明ながら回避策にて対応。 なお、イベントの発生と処理は別物。発生時刻をイベントのプロパティTimeGeneratedで…

SynchronizingObject

SynchronizingObject on powetshell Start-ProcessのExitedイベントの終了処理で、wpfのLabel.Contentを変更したい。 それだけ。 $proc = Start-Process "poi.bat" -passThru $ev = Register-ObjectEvent $proc -EventName Exited -Action { AddText("hoge")…

RunSpace

RunSpace 参考 https://msdn.microsoft.com/ja-jp/library/system.management.automation.runspaces.runspace(v=vs.85).aspx https://blogs.technet.microsoft.com/heyscriptingguy/2015/11/26/beginning-use-of-powershell-runspaces-part-1/ https://www.g…

WPF Clipboard

Clipboad on wpf by powershell PowerShellでWPFのクリップボードを使う。 [Windows.Clipboard] のGetText(), SetText()を使う。 $get = [Windows.Clipboard]::GetText() [Windows.Clipboard]::SetText("oha") [Windows.Clipboard]::Clear() 但し、下記が必…

.Netで作るPowerShellコンソール

Poweshellコンソール by wpf まさに欲しかったもの。PowerShellコンソールをWPFに組み込む。 肝はPowershll.Create()でPowershell を生成する事。 using (var powershell = PowerShell.Create()) { powershell.AddCommand("Get-ChildItem"); powershell.AddC…

Exited Event非同期対応

Start-ProcessのExitedEvent Thread Strart-ProcessのExited EventはデフォルトではSystem thread pool から実行される。UI系とは異なるため、UI系を制御すると問題が発生しやすい。 そのため、Formなどで使用するためにSynchronizingObject にUIオブジェク…

リモートデスクトップ via https/443

リモートデスクトップをHttpsで/ssl飛ばす。 myrtilleで可能な模様。WebSocketを使用している模様。 参考 https://github.com/cedrozor/myrtille/blob/master/README.md

WPF messageBox by PowerShell

WPF messageBox MessageBoxResult result = MessageBox.Show("Do you want to close this window?", "Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { Application.Current.Shutdown(); } 参考 M…

実行ユーザー取得 by PowerShell

PowerShellで実行ユーザー取得 $id = [System.Security.Principal.WindowsIdentity]::GetCurrent() $uname = $id.Name $groupsids = $id.Groups $groupsids | foreach{ $_.Translate([System.Security.Principal.NTAccount]) } 参考 WindowsIdentity http://…

IIS ftpサイト起動

ftp起動 $ftpSite.Start()はダメで、正しくは$ftpsite.ftpserver.Start()なのね。 ftpサーバーをスタートすれば良かったのね $ftpSite = IIS:\Sites\FtpData $ftpSite.ftpServer.Start() 参考 http://stackoverflow.com/questions/23015011/start-ftp-websit…

Pester

Pester for PowerShell 実行方法 雛形生成 New-Fixture .\bin Code テスト実行 Invoke-Pester .\bin\Code.Tests.ps1 テスト記法 Describe "Code" { Context "poi1" { It "Test Case 1" { $data | should Be $null } It "TestCase2" { "" | Should exist } } …

PSScriptAnalyzer for PowerShell

PSScriptAnalyzer for PowerShell 使い方 Invoke-ScriptAnalyzer SCRIPT 使うまで Download from GitHub Install-Module -Name PSScriptAnalyzer or git clone https://github.com/PowerShell/PSScriptAnalyzer or download from https://github.com/PowerSh…

-whatif on powershell

-whatif powershell のコモンパラメータの一つ、-whatif は、いわゆるドライランのオプション。Remove-itemやCopy-Itemなどで実行せずに、実行確認をする。 さて、実装するには? -whatif実装 肝は、 if( $PSCmdlet.ShouldProcess( $target ) ){ -whatif時に…

文字コード on powershell

文字コード on powershell コード sjis XAML sjis out-file unicode get/set-content sjis $outputencoding us-ascii chcp 65001

WebClient

WebClient by PowerShell Webclient classを使ってダウンロード function download ( [String]$dir = "c:\wk\poi", [uri]$uri = "https://www.google.com/index.html") { $file = Split-Path $uri.AbsolutePath -Leaf $bs = New-Object System.Net.WebClient…

WPF ComboBox

WPF ComboBox 方法としては二つ。 XAML内にデータを書く。 コード側のクラスをバインドする。 XAML版 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Combo" Height="10" Width="100"> <StackPanel> <ComboBox SelectedIndex="0"> <ComboBoxItem>その一</comboboxitem></combobox></stackpanel></window>

ssh by PowerShell

PowerShellでssh 参考 .netを使ったssh module PowerShellからsshしたい http://www.infilic.co.jp/tech/?p=542 https://www.starplatinum.jp/connect_linux_via_ssh/ OpenSSHサポートのニュース http://osdn.jp/magazine/15/06/05/082000 http://www.simpli…

配列性能 on PowerShell

配列性能 on PowerShell PowerShell配列に += で要素を追加する性能が良くないらしい。固定長配列として実装されており、追加時に配列を作り直しているのが原因とのこと。 性能面ではArrayList or List使用を推奨する。Listを使用する場合、 $x = New-Object…

CTRL-C 処理 by PowerShell

CTRL-C by PowerShell PowerShellでCTRL-Cを処理する方法 Polling finally finally CTRL-Cや、exit() 実行時でもfinallyが実行される。 polling CTRL-Cをキー入力処理するフラグをセットし、以後はCTRL-Cをキー入力としてポーリング。 フラグセット キーのポ…

Start-Process by PowerShell

Start-Process使用法 全体フロー $proc Start-process -passThru $ejob = Register-ObjectEvent -action $action -MessageData $job action: unregister-event remove-job $ejob PowerShellからの外部コンソールアプリを非同期起動する際にStart-Processを使…

Windows ネットワークの場所

Windowsネットワークの場所変更 Windowsネットワークの場所には、 パブリック public プライベート private ドメイン domain の3種類があり、Windowsファイアーウォールの設定が異なる。 プライベートへの変更方法 接続確認 Get-NetConnectionProfile 変更 S…

使用メモリ追加 by Powershell

使用メモリ追加 クオータが不足していますメッセージが出るようになったため、使用メモリを追加する。 winrm winrmを使用するので設定。管理者権限が必要なので、管理者になってから。 Start-Process powershell -verb runas winrm quickconfig 現設定を確認…

WPF簡単文書表示/HTML

WPF簡単文書表示HTML編 XAML 早速XAML <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="HTMLVIEW" Height="100" Width="200"> <StackPanel> <WebBrowser Source="file:///c:/tmp/a.html" Name="bs1" /> </StackPanel> </Window> コード 上記X…

C# in powerShell

C# in PowerShell PowerShell 内でC#を使う。 C#のコードを文字列に格納 $cs = "csharp code..." Add-Typeコマンドレットでロード Add-Type $cs 参照アセンブリがある場合は、 ReferencedAssemblies <アセンブリ[]> C#以外の言語なら、 Language <言語名> 言…

WPFバインディング

WPF バインディング まずは用語から、 バインディングソース 提供元オブジェクト バインディングターゲット 提供先オブジェクト ソースプロパティ 提供元プロパティ ターゲットプロパティ 提供先プロパティ バインディングソースになれるもの CLRオブジェク…

CI on windows by PowerShell

CI Windows環境のCI Linuxならgit push -> post-update で何でも出来るが、windowsだとLinuxからのキック方法からして面倒。 例えば、 Windows版OpenSSH 懐かしのWindows telnet server PowerShell Remote Jenkins Linux -> IIS -> webAPI 前提 現在考えてい…

PowerShellのリスク

PowerShellのリスク セキュリティ面ではPowerShellにはリスクがある。PowerShellではファイルアクセスなしにShellコードを実行される可能性がある。 きになる方は参考をご覧になって。 参考 http://colesec.inventedtheinternet.com/hacking-with-powershell…

ActiveDirectory by PowerShell

ActiveDirectory by PowerShell 基本コマンド New-ADUser Get-ADUser Set-ADUser Remove-ADUser Get-ADUserResultantPasswordPolicy ユーザー作成 簡単に New-ADUser taro -DisplayName 山田太郎 姓名指定 New-ADUser taro -Surname 山田 -GivenName 太郎 -D…

Excel Schedule task by powershell

excelスケジュール制御 参考 http://nasunoblog.blogspot.jp/2013/12/powershell-excel.html?m=1

WMIイベント by PowerShell

WMIイベント by PowerShell 参考 https://technet.microsoft.com/ja-jp/library/ff898417.aspx

WPF子ウインドウ

WPF子ウインドウ 参考 http://vdlz.xyz/Csharp/WPF/Control/Window/AnothorWindow/AnotherWindowOpen.html http://gushwell.ldblog.jp/archives/52335648.html Show()とShowDialog() http://gushwell.ldblog.jp/archives/52285322.html

WPF 簡単文書表示/XPS

WPF簡単文書表示 Xamlを使って簡単に文書表示ウインドウを作る。主要なものは下記の3点。 コントロール: DocumentViewer 文書: XPSファイル 文書型: FixedDocument 使用する文書ファイルはXPS形式。MicroSoft版のPDFの様な もの。Wordで保存できる。また、プ…

外部プログラム起動方法調査

外部プログラム起動方法調査 コンソールアプリを別ウインドウで非同期実行しつつ、標準出力を受け取る。 無理? まずは外部プログラム実行方法 & 同期 start-process 非同期/同期(-wait) start-job 非同期 System.Diagnostics.Process C#で書く? 期待値は、…

言語仕様PowerShell

仕様 https://download.microsoft.com/download/B/F/D/BFDCBB01-276F-4F8F-B5D9-2364FE1409A8/Windows PowerShell Language Specification Version 3.0.docx

このコマンドを実行するのに十分なクオータがありません

クオータ不足 PowerShell & WPFで頻発する。 WPFのコントロールはDisposeが不要との情報があるが、リファレンスカウント制御があるので、変数破棄or $null化が必要? 参考 http://www.powertheshell.com/wpfquota/ https://blogs.msdn.microsoft.com/japan_p…

confirm させない方法 by powershell

confirm システムに変更を加えるコマンド、例えばIPアドレス削除では、デフォルトでconfirm メッセージがでる。 これを止める方法は、 -confirm:$false 参考 https://blogs.msdn.microsoft.com/powershell/2006/12/14/confirmpreference/

初心者向けWindows.Forms by PowerShell

初心者向けWindows.Forms by PowerShell 参考 https://social.technet.microsoft.com/wiki/contents/articles/25911.how-to-add-a-powershell-gui-event-handler-part-1.aspx

WPF by PowerShell 事始め

初歩的なWPF by PowerShell xml -> reader -> ShowDialog の流れ 参考 https://blogs.technet.microsoft.com/heyscriptingguy/2014/08/01/ive-got-a-powershell-secret-adding-a-gui-to-scripts/

Windows Service by PowerShell

Windowsサービス 関連コマンド net start/stop sc.exe 参考 https://msdn.microsoft.com/ja-jp/magazine/mt703436.aspx

Powershell 例外処理

PowerShell 例外処理 例外処理には二種類。 Trap [例外] {} Try{}Catch[例外]{}Finally{} Trap 書式: Trap [例外] {例外処理} Trap例外処理中の break,continue break: 処理を終了する。 continue: 処理を継続する。 Try Catch 書式: Try{}Catch[例外]{}Fina…

Powershell 圧縮とshellオブジェクト

Powershell 圧縮 Comでshell にzipファイルを渡してCopyHere($filename) 注意点は、非同期処理対応。 重複試験はhashかなぁ。 なお、圧縮パスワードは設定できない。 解凍パスワードは、引数指定不可、ダイアログが表示される。 下記では、全ファイルをCopyH…

Ether IP

Ether IP on linux 参考 http://trema.hatenablog.jp/entry/20120415/1334487392 Github etherip https://github.com/kjmkznr/etherip/tree/master http://www.ihanet.info/Home/samples/etherip

Create Shortcut

ショートカットファイル作成 Powershell でショートカットファイル作成。 com のwshで作成する。 $wsh = New-Object -comObject WScript.Shell $link = $wsh.CreateShortcut("D:\desktop\notepad.lnk") $link.TargetPath = "notepad.exe" $link.Description …

object廃棄

Object廃棄 on Powershell Remove-Variable x 参考 http://stackoverflow.com/questions/13782788/powershell-clear-item-variable-vs-remove-variable http://m.chiebukuro.yahoo.co.jp/detail/q1342962568 http://stackoverflow.com/questions/1999858/how…