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

qshinoの日記

Powershell関係と徒然なこと

WPF messageBox by PowerShell

powershell wpf

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();
}

参考

MSDN

http://msdn.microsoft.com/en-us/library/system.windows.messagebox.aspx

StackOverflow

http://stackoverflow.com/questions/3830228/is-there-a-messagebox-equivalent-in-wpf

http://www.c-sharpcorner.com/uploadfile/mahesh/messagebox-in-wpf/

Windows ping応答許可

PC

Windows Ping応答許可

ファイアーウォールで許可

参考

http://www.cloudn-service.com/faq/2165

実行ユーザー取得 by PowerShell

powershell

PowerShellで実行ユーザー取得

$id = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$uname = $id.Name
$groupsids = $id.Groups
$groupsids | foreach{ $_.Translate([System.Security.Principal.NTAccount]) }

参考

WindowsIdentity

http://msdn.microsoft.com/ja-jp/library/system.security.principal.windowsidentity(v=vs.110).aspx

http://yomon.hatenablog.com/entry/2014/11/15/234529

http://yomon.hatenablog.com/entry/2014/11/15/234529

IIS ftpサイト起動

powershell

ftp起動

$ftpSite.Start()はダメで、正しくは$ftpsite.ftpserver.Start()なのね。

ftpサーバーをスタートすれば良かったのね

    $ftpSite = IIS:\Sites\FtpData
    $ftpSite.ftpServer.Start()

参考

http://stackoverflow.com/questions/23015011/start-ftp-website-from-powershell-4

Pester

powershell

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
    }
  }
  Context "poi2"
    It "poiqwe case 1" {
      "file.txt" | should contain "John"
    }
    It "poiqwe case 2" {
      "$x" | should BeNullOrEmpty
    }
  }
}

他の動詞

- match REGEX
- throw

TestDrive例

function Add-Footer($path, $footer) {
    Add-Content $path -Value $footer
}

Describe "Add-Footer" {
    $testPath = "TestDrive:\test.txt"
    Set-Content $testPath -value "my test text."
    Add-Footer $testPath "-Footer"
    $result = Get-Content $testPath

    It "adds a footer" {
        (-join $result) | Should Be "my test text.-Footer"
    }
}

参考

https://github.com/pester/Pester/wiki/Pester

http://softwaretest.jp/labo/tech/labo-300/

http://blog.nakajix.jp/entry/2013/12/26/005443

PSScriptAnalyzer for PowerShell

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/PowerShell/PSScriptAnalyzer/releases
  1. PS5.1以降の場合

    Install-PackageProvider Nuget –force –verbose Exit

  2. 導入確認

    Get-ScriptAnalyzerRule

  3. 実行

    Invoke-ScriptAnalyzer SCRIPT

Usage

Get-ScriptAnalyzerRule [-CustomizedRulePath <string[]>] [-Name <string[]>] [<CommonParameters>] [-Severity <string[]>]

Invoke-ScriptAnalyzer [-Path] <string> [-CustomizedRulePath <string[]>] [-ExcludeRule <string[]>] [-IncludeRule <string[]>] [-Severity <string[]>] [-Recurse] [<CommonParameters>]

参考

GitHub

Readme

https://github.com/PowerShell/PSScriptAnalyzer/blob/development/README.md

GiHub Root https://github.com/PowerShell/PSScriptAnalyzer

TechNet

https://technet.microsoft.com/ja-jp/library/dn927161.aspx

https://msdn.microsoft.com/ja-jp/powershell/scripting/core-powershell/core-modules/psscriptanalyzer-module

virtualbox nic

vm

virtualbox nic mode

  1. ブリッジ
  2. NAT
  3. NATネットワーク
  4. 内部ネットワーク
  5. ホストオンリー

説明

  • ブリッジ

ホストと同じネットワークに接続

  • NAT

ホストのネットワークにNAT経由で接続。ゲスト間接続なし。

  • NATネットワーク

NAT接続でゲスト間接続あり。

  • 内部ネットワーク

ゲスト間のみのネットワーク

  • ホストオンリー

ホストとゲスト間のみ通信可能

接続案

nic1,2がIPあり。nic3,4がIPなし。

  • nic1 : NATネットワーク
  • nic2: ホストオンリーネットワーク
  • nic3: ホストオンリーネットワーク2
  • nic4: ブリッジ(モニタ用、ipなし)

PC外ネットワークを外部と呼ぶと、

  • nic1: 外部用
  • nic2: ホスト専用
  • nic3: ホスト専用ethernet/L2
  • nic4: 外部のモニタ用/Tcpdumpなど

参考

http://qshino.hatenablog.com/entry/2017/02/07/185308

http://blog.pg1x.com/entry/2014/06/20/234518

virtualbox

https://www.virtualbox.org/manual/ch06.html

ホストオンリーネットワークのデフォルトdhcp enabled http://cospersign-00065.hatenablog.com/entry/2015/12/05/233739