Search This Blog

実行環境整備(ps1)

PowerShell環境整備:
時宜:Windowsインストール直後など
実行方針を変更することで、ps1が実行できるようになる。


PS C:\Users\xis> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
PS C:\Users\-> Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser RemoteSigned LocalMachine Undefined PS C:\Users\-> Get-Culture LCID Name DisplayName ---- ---- ----------- 1033 en-US English (United States)

英語設定でも、コンソールへの日本語貼り付けは?で文字化けするも、日本語を含むps1の実行には問題なし。

Get-WinUserLanguageList

まさか

39を少し過ぎた頃、どうも気づいてしまった。
私は開発者になりたかったのだと。

そして、しばし沈黙する。一体ここからどうするのかと。
32ビット版ファイルを格納した\SysWOW64 とある。
SysWOW64 に含まれているファイルは32bit版ということのようだ。

PowerTip: Determine if PowerShell is Running x86 or x64 | Scripting Blog

Switch ([intptr]::Size) {
    4 {"x86"}
    8 {"x64"}
}

実行中の PowerShell が、どちらなのかを判別したい場合に利用できるようだ。

TABLE: Keyboard Shortcut

LibreOffice Control Panel Taskbar Win X Firefox Explorer

LibreOffice

key目的備考
Ctrl Shift F2Go to 'Input line'
Ctrl Shift F5Go to 'Name Box'ショートカット表には「Sheet Area Box」と記述されている。Jumpなどに
Alt Enter選択範囲への同じ値の入力範囲選択をしたあとにいずれかのセルで値を入力
Ctrl PgUp or PgDnSheetの移動
Ctrl Enterカーソル列の全選択
Shift Enterカーソル行の全選択IMEが英語モードである必要あり

Firefox

key目的備考
Ctrl Shift Aabout:addons
Ctrl Shift E
Ctrl Shift HTabGroups
Ctrl Shift Pprivate-browsing
Backspaceback one pageabout:config browser.Backspace_action
Shift Backspaceforward/back one pageAlt arrow keys
Alt or F10to show the hidden menubar
Ctrl Uソースを表示
about:aboutabout: で開くことのできる一覧が開く
about:config設定値の変更browser.taskbar.lists.tasks.enabled;false

Chrome

key目的備考
Ctrl Shift Bhide or unhide bookmark bar
Ctrl Shift E

Windows

Win XOpen the Quick Link menu
Win AOpen Windows 10 Action Center (e.g. to display notifications and customizable quick actions)
Win EWindows Explorer
Alt DAddressBarExplorer
Firefox
Win BSelect a program from system tray
Ctrl N現在地を保持したExplorerの複製
Win P画面の表示選択
Win RShow the Run command
Ctrl Shift EscOpen Task Manager
Win Pause[control system] at Run or Windows Explorer
Alt

Quick Link menu ( Win x ) / File Explorer( Win e ) / Run( Win r )

Win XRun/File ExplorerMemo
iPowershell
mdevmgmt.mscDevice Manager
gcompmgmt.mscComputer Management
gtaskschd.msctask scheduler
gservices.mscServices
kdiskmgmt.mscDisk Management
veventvwr[.msc]Event Viewer
control admintoolsAdministrative Tools
regeditレジストリエディタ
msconfigシステム構成
msinfo32システム情報
ncpa.cplNetwork Connection

Taskbar

Win TCycle through apps on the taskbar
Win NumSelect or Run a Application on Taskbar
Win Alt NumPopup Menu from Taskbar

Control Panel

CommandShortcutPath or Control Panel
control date/timeDate and Time
control timedate.cpl
control admintoolsControl Panel\System and Security\Administrative Tools
control foldersFile Explorer Options
control systemWin PauseControl Panel\System and Security\System
control sysdm.cpl,,3環境変数 等

Explorer

KeyNote
F10Show shortcut key
Ctrl NOpen new window in same location
Ctrl ESearch
Ctrl Shift NCreate New Folder
Ctrl Shift EExpand Navigation Bar
Ctrl Shift Numview change (icon size etc..)
未分類
key目的備考
Ctrl Alt F12Intel Graphics Controllerオプションのhotkeyを無効化し、意図せぬ画面回転を抑止する

コントロール・パネル・アイテムをコマンドラインから呼び出す
よく使うコントロール・パネル・アイテムを素早く起動できるようにする
いろいろな方法の中から覚えられそうなものを shortcut https://support.mozilla.org/ja/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
https://support.mozilla.org/en-US/kb/what-happened-to-the-file-edit-and-view-menus

The Address Bar | Firefox Help

--
--


Partition

DOS/V POWER REPORT | Impress Japan
パーティションは高速な外周から確保されていく。内周を使う後半のパーティションにはバックアップデータなどを置くのもよいだろう

exFAT

検討:exFATの外部HDの必要性と、その場合の運用利点を整理する
結論:Sambaが利用できない場合は有用

外部HDの接続(exFAT)により、両環境(Windows/Linux)で扱えることが魅力。
※(2019年11月現在)、Linuxへの実装作業中らしい。

検討詳細

Samba運用によるWindows共有が有れば、不要だろう。

Windows環境のfileをLinuxで使いたいなら、Sambaで移動できるし、逆に
Lunix環境のfileをWindowsで使いたい場合にも、Sambaで良い。

Samba

Linux上にWindows共有を実現できる。
利点は、Windows OSのライセンス費用を負担することなく、Windows Network用 の Share Folder を運用できるということ。

Windows環境のファイルをLinux環境へ

Samba の Share Folder へ移動できる。

Linux環境のファイルをWindows環境へ

smbmount により、Windows上の Share folder を Linux で扱うことができる。
file を Windows環境へ随時移動するだけなら、smbmount で十分だろう。

WIndows Share(Folder Share)

DATAの移動にLANを利用する場合を想定し集めたメモ書き

LAN構成の設定
route print
route add 192.168.0.0 mask 255.255.255.0 192.168.0.1 if 2
netsh interface ip dump
netsh interface ipv4 show interfaces

arp -a

共有一覧(自機)
net share

接続している共有(現在マッピング接続している一覧を表示する)
net use
Shared Folder(ファイル転送用)

それぞれのNICにIPを設定する

netsh interface ipv4 reset
REM netsh interface ipv4 set interface interface="イーサネット" forwarding=enabled advertise=enabled nud=enabled ignoredefaultroutes=disabled
netsh interface ipv4 set address name=1 static 192.168.0.1/24
・workgroup - 同一であることを確認。(今回は全てW10であるため同一)
・ネットワークと共有センター の 共有の詳細設定の変更 で ネットワーク探索 と ファイルとプリンターの共有 をそれぞれ有効にする。
・共有するフォルダに共有設定(Everyone)をする。
複数のNetworkに接続のある場合の設定方法として
Win10Proであれば、仮にWifiとEthernetのどちらもがPublicと識別されたとしても、個別にWifi(Public),Ethernet(Private)に変更できる。管理ツール。
Win10Homeの場合、個別のNetwork設定が必要ならPowershell変更する。Regeditなどでも可能らしいが、現時点で古い情報しか見つけられなかったため。
Set-NetConnectionProfile -Name (get-netconnectionprofile).Name -NetworkCategory Private
作業中の疑問とその解消
・LANケーブル(GigabitEatherなら、Crossoverである必要はなくストレートでいい)
・HomeGroupは目的ではなく使わない。予め決められた共有設定にてライブラリ(documents,Music,Pictures)を共有する初心者用簡易共有のようなもの。

問題発生の履歴

Libre Calc

矢印Keyを押すと対象Cellではなく、スクロールバーが動いてしまう、画面固定問題

  • 原因:Keyboardの[ScrLK]を押したこと
  • 解消方法:[ScrLK]をOffの状態にする

Chrome

software reporter toolによるCPUの高騰にPCフリーズとなる問題

検討と結論

Linux

仮想化

こと個人のSystem環境を考えた場合、仮想化を必要とするだろうか。
この問いへの結論を、「無くて困ることは少ないものの、環境試験等などの為には有る方が便利」とする。


やはり、一番の利点は、環境試験が手軽に実施できることだと思う。

samba

共有用の専用Deviceを用意して、他SystemのSambaでも同様に扱えるようにできる気がする。
Linux OSにMountすることでFile Systemへ組み込み、Sambaの共有設定でDirectory設定し、Service起動すればいいはずだから。

機材関連

USB Flash Memory

OS Install などの際にいつも検討するのだが、結論として、「USB接続Device」であればいいことから、「外部Caseに入れた使い古しのHDDのUSB接続」で対応することに。

Read Only に関して

file の管理を考え出すと間もなく「Read Only」に突き当たることが多い。
混同するのもあれなので残しておく。

Robocopy では ReadOnly に変更する Option がある。
7z には、属性変更の機能はない。

7z

コマンドライン版

  • 複数のファイルを圧縮する場合、<arguments> 位置に半角Space区切りで記述するとよい。
  • command t は、既存の圧縮Fileに対して何らか処理を行うものらしく、「圧縮自体を行わない処理のみの動作確認」をするような目的では利用できないようだ。


備忘録

備忘録

VLOOKUP

=VLOOKUP(SearchCriterion; Array; Index; Sorted)
Sorted is an optional parameter that indicates whether the first column in the array is sorted in ascending order. Enter the Boolean value FALSE or zero if the first column is not sorted in ascending order. Sorted columns can be searched much faster and the function always returns a value, even if the search value was not matched exactly, if it is between the lowest and highest value of the sorted list. In unsorted lists, the search value must be matched  exactly. Otherwise the function will return this message: Error: Value Not Available.

=VLOOKUP(SearchCriterion; Array; Index; 0)
検索値と参照表第一列との完全一致を探す場合、参照表の第一列が非Sortとする値[0]を設定する。
未入力の場合は1になり想定の結果が得られない。

PowerShell Script 記述に関する改善案

field

csv に関して、

  • Filename から header の有り無しを判別できた方が便利かもしれない。
ps1 に関して
  • メンテナンス を考えると、File Output の有無や、出力場所などについて、容易に変更できた方が便利かもしれない。

Splattingに関して

Out-File @{Encoding=unicode}

上記のように、Splatの中身が連想配列ならば、cmdletに直接渡せないのかと考えたが、仕様上できないようだ。

「変数に格納済みの連想配列をcmdletのpropertyとして処理したい場合には、@変数名と記述することで可能である」となるらしい。

@を解析時に、それに続く名を既存の変数名の中から拾い上げるという動作であるようだ。
Splatは「@に続く語句と同一の変数が既に存在することがの条件」ということのようだ。



do until

PS>function prompt {$null}
PS>$i=0; do { [char]$i  } until ( $i++ -eq 255 )

 
 
 
 
 
 




 
 

 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 

















1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~

€

‚
ƒ
„
…
†
‡
ˆ
‰
Š
‹
Œ

Ž


‘
’
“
”
•
–
—
˜
™
š



ž
Ÿ
 
¡
¢
£
¤
¥
¦
§
¨
©
ª
«
¬
­
®
¯
°
±
²
³
´
µ
¶
·
¸
¹
º
»
¼
½
¾
¿
À
Á
Â
Ã
Ä
Å
Æ
Ç
È
É
Ê
Ë
Ì
Í
Î
Ï
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
×
Ø
Ù
Ú
Û
Ü
Ý
Þ
ß
à
á
â
ã
ä
å
æ
ç
è
é
ê
ë
ì
í
î
ï
ð
ñ
ò
ó
ô
õ
ö
÷
ø
ù
ú
û
ü
ý
þ
ÿ
PS>
PS>[char[]](167,168,176,177,180,182,215,247)
§
¨
°
±
´
¶
×
÷
PS>

Data 保存に関して

定時 Backup を見直そうを思う。
蓄積され続ける Data をどうするか。

備えとして蓄積することを優先していたこともあり、活用と整理について疎かになっていた。
目下の検討事項を列挙していこうと思う。

  • 量の抑制
    • 使わない Data がないかを精査すること
    • 重複保存が起きていないかを確認すること
    • 適切な循環となっているかを確認すること。
      • 取得の間隔は適切であるか
      • Copy(Backup)の保持期間は適切であるか

関数

返り値を持つもの。
何らかの値を生成する一纏めの処理。

戻り値は、Return 後に記述する変数、もしくは関数内でコンソール出力されるものとなる。

関数内で生成する値の全てを変数に格納することで、いらぬ情報の返り値への紛れ込みを防ぐことができるはずだ。

始めから最善を理解しての作成は不可能なのだろうと思うから、方針を決める必要があると思う。一度決めた方針を目指し取り組んでみて、必要に応じた修正を施すこと。それがものづくりの基本だと思っている。商売となると需要を予測した上での経営計画策定といった感じだろうか。それと反する方法ではあるけれども、自分でものづくりをとなるとこういう方法が一番の気がする。

Operator: match

about_Comparison_Operators | Microsoft Docs

想定通りに動かない状況が起きた。
Case 左項が配列の場合
[string[]] -match "regex" とすると、一致の有無の表示が行われない。

"a","b","c" -match "c"