Skip to content

Instantly share code, notes, and snippets.

View ooltcloud's full-sized avatar

オールトの雲 ooltcloud

View GitHub Profile
@ooltcloud
ooltcloud / SetDateFromGPS.ps1
Last active July 25, 2020 03:57
GPS を使った簡易時刻合わせ
#--------------
# GPS を使った簡易時刻合わせ (管理者権限で実行)
#--------------
function SetDateFromGPS($portname) {
trap{
# エラーが発生したら終了
break
}
@ooltcloud
ooltcloud / QueryNTPStatus.ps1
Last active December 6, 2021 14:43
NTP の応答を表示する
#--------------
# NTP の応答を表示する
#--------------
# NTP 積算秒数の起点時刻 (JST)
$ntpEpoch = New-Object System.Datetime @(1900, 1, 1, 9, 0, 0)
# 符号付き Int8 を取得
Function getInt8($byte) {
@ooltcloud
ooltcloud / SyncTimeNtp.ps1
Created December 5, 2018 10:50
Powershell と NTP を使用した簡易時刻同期 (udp の ntp プロトコル使用)
#--------------
# NTP 時刻合わせ (NTP UDP:123)
#--------------
# NTP 積算秒数の起点時刻 (JST)
$ntpEpoch = New-Object System.Datetime @(1900, 1, 1, 9, 0, 0)
# Big Endian の符号なし Int32 を取得
Function getUInt32BE($bytes, $startIndex) {
@ooltcloud
ooltcloud / SyncTimeHttp.ps1
Last active December 5, 2018 10:46
Powershell と NICT 公開 NTP サービスを使用した簡易時刻同期 (http プロトコル使用)
# シリアル秒起点時刻
$epoch = New-Object System.Datetime @(1900, 1, 1, 9, 0, 0)
# 現在時刻取得 (「NICT 公開 NTP サービス」を利用)
$ntp = Invoke-WebRequest "https://ntp-a1.nict.go.jp/cgi-bin/ntp"
# 現在時刻のシリアル秒を取得
$xml = [xml]$ntp.Content
$val = [Double]($xml.HTML.BODY -replace "`n", "")
@ooltcloud
ooltcloud / ToHankakuChar.VBA
Created May 15, 2017 16:06
Visio のアクティブドキュメントの全角英数を半角にする
Sub アクティブドキュメントの全角英数を半角にする()
Dim vsoPage As Visio.Page
Dim vsoShape As Visio.Shape
Dim vsoChar As Visio.Characters
Dim c As Integer
For Each vsoPage In Application.ActiveDocument.Pages
For Each vsoShape In vsoPage.Shapes
@ooltcloud
ooltcloud / RSA.VBA
Last active January 4, 2023 03:15
VBA(Excel) で RSA 暗号を Encode/Decode してみる
Sub Main()
' 鍵生成
Call GetKey(publicKey, privateKey)
Debug.Print publicKey
Debug.Print privateKey
' 暗号化
encryptString = Encrypt(publicKey, "あいう")
Debug.Print encryptString
@ooltcloud
ooltcloud / ToDec32.vb
Created February 8, 2016 14:24
[VB.NET] 接頭辞付き 16進数文字列 → 整数変換
Function ToDec32(source As String) As Integer
' 0x?? , &hxx , $xx は 16進数とする
Dim h1 = Regex.Match(source, "(?i)^(?<prefix>0x|&h|\$)(?<body>.*)$")
If h1.Groups("prefix").Value <> "" Then
Return Convert.ToInt32(h1.Groups("body").Value, 16)
End If
' ??h は 16進数とする
Dim h2 = Regex.Match(source, "(?i)^(?<body>.*)(?<suffix>h)$")
@ooltcloud
ooltcloud / IniFileAccessor.vb
Last active February 2, 2019 22:21
[VB.NET] ini ファイル操作クラス
Class IniFileAccessor
''' <summary>
''' iniファイル名
''' </summary>
Private _iniFileName As String
''' <summary>
''' 読込用テンポラリ領域
''' </summary>
@ooltcloud
ooltcloud / Send-RecycleBin.ps1
Created November 5, 2015 12:13
指定したファイルをゴミ箱に捨てる
Add-Type -a Microsoft.VisualBasic
Function Send-RecycleBin($filename) {
(gci $filename) |
% {
Write-Host $_.FullName;
[Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile(
$_,
@ooltcloud
ooltcloud / VisualizeControlCharacter.ps1
Created August 31, 2015 16:49
制御文字を可視化する
function VisualizeControlCharacter($s) {
-join (
$s.ToCharArray() |
% {
switch -regex ($_){
'[\u0000-\u001F]' { [Char]([Int16]$_ + 0x2400) };
'[\u0020]' { [Char](0x2423) };
'[\u007F]' { [Char](0x2421) };
default { $_ };