2019年11月13日水曜日

◆パス(文字列)から拡張子なしのファイル名を取り出す方法

数年ぶりにPowerShellのお仕事をしているので浦島太郎状態。

ファイルオブジェクトだとプロパティで色々用意されていたように思うが、文字列だと「Split-Path」では用が足りなさそう。

力業でやっても大したことは無いのだが誰かに見られると恥ずかしいのでちょっと調べてみた。(笑)

「System.IO.Path」のStaticで色々と用意されているらしい。

パスの文字列から拡張子やファイル名を取り出す方法

2019年11月5日火曜日

◆PowerShellからSSHを使う

1.OpenSSHクライアントを追加

Windows10 でSSHを使うには「Windowsキー  + I」で「Windowsの設定」を開く。
「アプリ」を選んで「アプリと機能」を開く。
「アプリと機能」から「オプション機能」を開く。
「オプション機能」が一覧表示されるので「OpenSSHクライアント」が表示されない場合は「機能の追加」から追加する。
(最近は最初から追加されているように思う)

2.公開鍵・暗号鍵のペアを作成

 (1)"C:\Windows\System32\OpenSSH\ssh-keygen.exe"を実行
 (2)「Enter file in which to save the key」と言ってくるので保存場所
    を指定する。(デフォルトで良ければそのままEnter)
    (デフォルトはログオンユーザー配下の「.ssh」)
 (3)「Enter passphrase」と表示されるのでパスフレーズを使う場合は指定

3.公開鍵ファイルをサーバーに送る

 手段は何でも良いが、差し当たってSCPで送る場合は
 scp  送信ファイル  ユーザー@接続先サーバー:パス
 といった感じで
 scp  $home\.ssh\id_rsa.pub  root@172.18.53.148:/etc/wk

4.公開鍵を配置

 (1)ログインユーザーのホームディレクトリに「.ssh」フォルダを作る
    mkdir  ~/.ssh
 (2)パーミッションを変更
    chmod  700  ~/.ssh
 (3)authorized_keysファイルを作成
    touch ~/.ssh/authorized_keys
 (4)パーミッションを変更
     chmod 600 ~/.ssh/authorized_keys
 (5)公開鍵をauthorized_keysに追加
    cat ~/id_rsa.pub >> .ssh/authorized_keys

5.PowerShellからSCPしてみる

  秘密鍵は「$home\.ssh」をデフォルトで参照してくれるらしい。
  別な場所に置く場合は「i」オプションでパスを指定する
  (次からはオプションなしでもそこを参照してくれるっぽい)

  scp  hoge.txt  root@172.18.53.148:/etc/wk

2019年10月11日金曜日

◆Visual Studio Code 警告の無効化

最近ではPowerShellの編集に「Visual Studio Code」を使っている方も多いと思いますが、私自身は個人的なツールしか作らないのでエイリアス使用に対する警告がちょっとうざい。
という事で警告を無効にしてみました。
「Visual Studio Code」を開き、「Ctrl + Shift + p」
すると以下の様なウインドウが表示されるので最上段(プロンプト)に
「PowerShell: Select PSSc」と入力。

「PowerShell: Select PSScriptAnalyzer Rules」が抽出されるのでクリック。

警告ルールの一覧が表示されるので2行目あたりにある「PSAvoidUsingGmdletAliases」のチェックをはずす。

先頭の「Confirm」をクリック

と思ったのだが、あれ~、うまく保存されないなぁ・・・。

2019年9月30日月曜日

◆2019/10/01

<寄り前>

<ロング・ショートPF(低位)>
約定済、要発注、注文中、条件が合えば発注■検討

(A)------------------------
1346日経225(2)撤退   
1570日経レバ(2+2)■d撤退
2516マザーズ(1) 30=2M  
8411みずほ(7)■d撤退(4) 
8585オリコ(2)
2353日駐(2)■d撤退
8789フィンテックグローバル(-2)
9424日本通信(1)■d撤退

(B)------------------------
5703日軽金(2)■d撤退(1)
7746岡本ガラス(1)
4689ヤフー(-1)
6093エスクローエージェント(1)■d撤退(1)
6366千代田化工建設(1) 
6472NTN(-1)
7004日立造船
8410セブン銀行(-1)
2337いちご(1)

★優待ヘッジ用
4344ソースネクスト(1)        
3668コロプラ         
2395新日本科学
1332日水(1)■d619撤退                                     
3402東レ
1429日本アクア(1)
4755楽天
2768双日
1824前田建設                              

<優待>
3387クリエイト・レストランツ
9831ヤマダ電機(1)
2655マックスバリュー東北(1)
3561力の源HD(1)
3245ディア・ライフ(1) ■9月売り
7918ヴィアHD 
3475グッドコムアセット(1)   
3167TOKAI(1)■9月   
6904原田工業

8591オリックス(1)■d1644逆差し(-10)
1419タマホーム(1) (-2)ヘッジ売り空売り追加
3050DCMHD
3140イデアインターナショナル(1)d799で逆差し(week)
3197すかいらーく(1)
3548バロックジャパン
7412アトム、8005スクロール、■9月

<新興>
2477手間いらず
6550Fringe81

<長期>       
3940ノムラシステムコーポレーション
6192ハイアス・アンド・カンパニー (1)■d297撤退
2930北の達人(-1)
3679じげん(-1)
2362夢真(1)現値アンダー撤退(昼)
8349東北銀行空売り
7818トランザクション、売り禁

<ブレーク,暴落>
2317システナ(BRK)
4725CACHD(-1)
2453JBR
2492インフォマート

<その他>
2157コシダカ  
6099エラン
4284ソルクシーズ   
3137ファンデリー 
3910エムケーシステム、売り禁   
3180ビューティーガレージ
3003ヒューリック■d売勝負?
8604野村HD
9412スカパー  
7196CASA(1)
8601大和証券
2170リンクアンドモチベーション(-1)
4800オリコン
3677システム情報(-1)
---    

<今日の結果>.



.

2019年9月13日金曜日

◆仮想デスクトップの画面を指定して開く

Windows10の仮想デスクトップは便利な機能だが、痒いところに手が届かない部分も多い。

画面の番号を指定してドキュメントなどを開きたい時がたまにあるのだが機能が見当たらない。

探してみると以下の様なアプリがあるようだ。
https://forest.watch.impress.co.jp/docs/review/1025819.html

ファイルを右クリックして画面番号を選んで開くことができると良いのだが方法(機能があるのかも)が判らない。

そこでPowerShellをかましてみたのだが以外に難しい。(というか最近ご無沙汰なのでちんぷんかんぷん)

パスに空白を含まなければ簡単なのだが・・・・。

とりあえず力業で作ったのが以下の通り。

$WNum = $Args[0]
$path = ($Args[1..($Args.length-1)]) -Join " "
vdesk on:$WNum run:"PowerShell -WindowStyle Minimized -Command & {Invoke-Item '$path' }"

あとはSendToにショートカットを作って以下の様なリンク先とする。(最後の1は画面の番号)
画面の番号分だけショートカットを作ればOK。
c:\xxxxxPowerShell.exe  “hogehoge\OpenVdesk.ps1  1”


もう少しまっとうなパスの扱い方法がありそうな気もするが自分で使うだけなのでとりあえず良しとした。

ちなみに、空白が2つ以上続くパスには対応できていない。

2019年7月31日水曜日

◆Windows10からActiveDirectoryを管理する

Windows7当時は以下の様な感じだった。
◆Windows7からActiveDirectoryモジュールを使う
Windows10では若干手順が変わっているようだ。
なおかつ1809以降とその前でも手順が違うのだとか。
私のPCは1809なので以下を参考にインストールした
https://www.atmarkit.co.jp/ait/articles/1811/29/news046.html
のだが、なぜかうまくいかない。

ためしにPowerShellコマンドでインストールしてみるとエラーコード「0x800f0954」でエラーになっているようだ。
調べてみるとどうやらDomain環境でWSUSを使っていると失敗するらしい。
対策は「gpedit.msc」でローカルグループポリシーエディターを起動し「コンピューターの構成」「管理用テンプレート」「システム」から「オプションコンポーネントのインストールおよびコンポーネントの修復のための設定を指定する」を選び「有効」にするとともに、オプションで「WSUSの代わりにWindowsUpdateから修復コンテンツとオプションの機能を直接ダウンロードする」をチェックしてあげると良いようだ。



1903にしたら消えやがるし・・・(@@