View Invoke-Test.ps1
Write-Host "Hello $env:COMPUTERNAME" -ForegroundColor Green
View Get-WindowsFeatureFromTemplate.ps1
$TemplatePath = ".\展開の構成テンプレート.xml"
(Import-Clixml -LiteralPath $TemplatePath).GetEnumerator() | % { $_.CimClass.CimClassQualifiers["DisplayName"].Value } | Get-WindowsFeature
View Get-EdgeDockerVersion.ps1
$dockers = (Invoke-RestMethod -Uri 'https://go.microsoft.com/fwlink/?LinkID=825636&clcid=0x409')
$dockers.versions.$($dockers.channels.edge.version)
View install-powershell-appimage.sh
# Tested on CentOS 7.3
# AppImage requires FUSE
sudo yum install -y epel-release
sudo yum -y install --enablerepo=epel fuse-sshfs
# Install PowerShell AppImage
curl -OL https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.17/PowerShell-x86_64.AppImage
chmod a+x ./PowerShell-x86_64.AppImage
./PowerShell-x86_64.AppImage
View powershell-class-fields.ps1
#
# PowerShell Class "Field" is converted to Property.
#
class PSClass
{
[string]$Field1 = "F1"
}
Write-Output "Get Field information from [PSClass].GetMembers() -> returns Property"
[PSClass].GetMembers() | ? { $_.Name -eq "Field1" } | select Membertype | Out-String
View Convert-SyukujitsuCSV.ps1
# 面倒なので適当
"http://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv" `
| % { (curl $_).Content } `
| % { [Text.Encoding]::GetEncoding(932).GetString([Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($_)) -split "`r`n" } `
| ? { $_ -ne "" -and $_ -notlike "*,,,,," } `
| select -Skip 2 `
| % { $cs = $_ -split ','; for( $i=0; $i -lt $cs.Length; $i+=2 ){ [PSCustomObject]@{Date=[Datetime]$cs[$i+1];Name=$cs[$i]} } } `
| sort Date `
| ConvertTo-Csv -NoTypeInformation
View Invoke-FileRotation.ps1
Function Invoke-FileRotation() {
<#
.SYNOPSIS
指定されたファイルをローテーションします。
.DESCRIPTION
指定されたファイルをローテーションします。
ファイル名は sample.txt → sample.txt.n (n=1,2,3...) の様に変化します。
最終世代を超えたファイルは削除されます。
.PARAMETER LiteralPath
ローテーションするファイル名を指定します。
View Sort-IPV4Sample.ps1
#
# https://orebibou.com/2015/05/linuxunixのsortコマンドでipアドレスのソートを行う/
# のPowerShell版
#
cat .\test.txt | sort (0..3|%{[ScriptBlock]::Create("[int]$`_.Split('.')[$_]")})
View Rot13-1.ps1
#
# Rot13を愚直に実装
#
filter Rot13([switch]$Decript) {
if ($_ -isnot [string]) {
$_ = $_.ToString()
}
$radix = 13
$output = ""
foreach ($c in [char[]]$_) {
View New-ShortcutsOnStartMenu.ps1
#
# スタートメニューにexeファイルのショートカットファイルを置くスクリプト
#
# 検索対象ディレクトリ
$SearchDir = "C:\Program Files2"
# ショートカットファイル置き場
$OutputPath = Join-Path ([Environment]::GetFolderPath([Environment+SpecialFolder]::StartMenu)) "MyShortcuts"
#
# ショートカットを作る雑なファンクション