Skip to content

Instantly share code, notes, and snippets.

Takuya Shibata stknohg

View GitHub Profile
@stknohg
stknohg / Get-NETCoreRuntimeVersion.ps1
Last active Apr 2, 2019
PowerShell Coreの.NET Coreランタイムバージョンまとめ
View Get-NETCoreRuntimeVersion.ps1
function Get-NETCoreRuntimeVersion () {
# pwsh.deps.jsonを検索
$depsJsonPath = Join-Path $PSHOME 'pwsh.deps.json'
if (Test-Path $depsJsonPath) {
$depsContent = Get-Content -LiteralPath $depsJsonPath | ConvertFrom-Json -AsHashtable
$targetName = $depsContent.runtimeTarget.name
$pwshTargetName = $depsContent.targets.$targetName.Keys | ? { $_ -like "pwsh*" }
return $depsContent.targets.$targetName.$pwshTargetName.dependencies."Microsoft.NETCore.App"
}
@stknohg
stknohg / Export-AWSCmdletMarkdown.ps1
Last active Mar 7, 2019
AWS CLIの全サブコマンドとPowerShell Cmdletの対応表を出力するやつ
View Export-AWSCmdletMarkdown.ps1
Import-Module AWSPowerShell.NetCore
Get-ChildItem C:\temp\awscli\*.txt | ForEach-Object {
Write-Host "$($_.BaseName)..." -ForegroundColor Green
#
$serviceName = $_.BaseName
$commands = $_ | Get-Content | ForEach-Object {
try {
# 1つの AwsCliCommand から複数の Cmdlet を返す場合がある
$awsCLI = $_
@stknohg
stknohg / aws_list_commands_all.sh
Created Mar 7, 2019
AWS CLIすべてのサブコマンドを列挙するスクリプト
View aws_list_commands_all.sh
#!/bin/bash
for c in $(aws list-commands 2>&1 | tail -n +9 | awk -F'|' '{printf "%s\n%s\n",$1,$2}' | tr -d ' ')
do
# wait, help,空白 は除外
eval "aws $c list-commands" 2>&1 | tail -n +9 | awk -F'|' '{printf "%s\n%s\n",$1,$2}' | tr -d ' ' | sed -e /wait/d -e /help/d -e /^$/d | awk -v "v1=$c" '{printf "aws %s %s\n",v1,$0}'
done
@stknohg
stknohg / Update-EC2Launch.ps1
Last active Feb 27, 2019
最新バージョンのEC2Launchをインストールするスクリプト
View Update-EC2Launch.ps1
#
# 最新バージョンの EC2Launch をインストールするスクリプト
# Ref : https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch-download.html
#
# ※ EC2Launch 設定ファイルのバックアップには対応していません。
#
<#
.SYNOPSIS
EC2Launchの最新バージョンを取得します
@stknohg
stknohg / PowerShellMemoOnWin10-1809.md
Last active Oct 13, 2018
Windows 10 October 2018 Update(RS5)で変更されたPowerShellモジュールについてのメモ
View PowerShellMemoOnWin10-1809.md

バージョン情報

PS C:\> $PSVersionTable | sort Name

Name                           Value
----                           -----
PSVersion                      5.1.17763.1
PSEdition                      Desktop
@stknohg
stknohg / docker-pull-insider.ps1
Last active Oct 1, 2018
Insider previewでのコンテナイメージ取得
View docker-pull-insider.ps1
#
# ref: https://blogs.technet.microsoft.com/virtualization/2018/06/27/insider-preview-windows-container-image/
#
# Query the registry for necessary build information
$winver = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\'
$versiontag = "$($winver.CurrentMajorVersionNumber).$($winver.CurrentMinorVersionNumber).$($winver.CurrentBuildNumber).$($winver.UBR)"
# Run the actual docker pull command to download the insider image matching the host OS
docker pull mcr.microsoft.com/windows-insider:$versiontag
@stknohg
stknohg / Get-ProcessCommandline.ps1
Last active Jul 28, 2018
プロセスのコマンドラインを取得する関数
View Get-ProcessCommandline.ps1
<#
.SYNOPSIS
Get the command line of a process.
#>
function Get-ProcessCommandline {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[int]$Id
)
@stknohg
stknohg / Get-HatenaBlogEntries.ps1
Last active Jun 14, 2018
はてなブログのエントリ一覧を取得する雑なスクリプト
View Get-HatenaBlogEntries.ps1
#
# AtomPub APIを使うバージョン
#
# 設定
# 面倒なのでBasic認証
$hatenaId = 'はてなID'
$blogId = 'ブログID'
$cred = Get-Credential -UserName $hatenaId
@stknohg
stknohg / Test-MixedContent.ps1
Last active Jun 14, 2018
Selenium WebDriver(Chrome)を使った簡単なMixed Contentのチェック例
View Test-MixedContent.ps1
#Requires -Version 5.0
# パスチェック
# カレントディレクトリにWebDriver.dllとchromedriver.exeがある前提
if ( -not (Test-Path -LiteralPath '.\WebDriver.dll')) {
Write-Error 'WebDriver.dllがありません。'
return
}
if ( -not (Test-Path -LiteralPath '.\chromedriver.exe')) {
Write-Error 'chromedriver.exeがありません。'
@stknohg
stknohg / PSCloudShellStartup.ps1
Last active May 28, 2018
Azure Cloud ShellのPowerShell起動時処理
View PSCloudShellStartup.ps1
# Startupscript for PowerShell Cloud Shell
$script:Startuptime=[System.DateTime]::Now
# User profile script location
$script:AzureRMProfileModule = if($PSVersionTable.PSEdition -eq 'Core'){'AzureRM.Profile.NetCore'}else{'AzureRM.Profile'}
$script:AzureADModule = 'AzureAD'
# On WindowsPowerShell, $PSVersionTable.PSEdition is Desktop; On pscore, $IsWindows is true; On Linux, all false
$script:IsWindowsOS = ($PSVersionTable.PSEdition -eq 'Desktop') -or $IsWindows
$script:CustomProfileTimeConsumption = 0
You can’t perform that action at this time.