ラベル IT の投稿を表示しています。 すべての投稿を表示
ラベル IT の投稿を表示しています。 すべての投稿を表示

2021-03-02

  一寸悩んだので備忘録。

 

 VMware ESXi 6.7以降をHP製UPSで保護する場合の遮断方法。

  HP製UPS&Network Management Cardの環境ではUPSとHPEPPとが通信を行い、商用電源断に遷移した時に、指定コマンドを実行可能である。

 この時、指定コマンドとして、ESXi shellに対して、POWEROFFを指示すれば良い。

 sshで接続する際に初回はfingerprintの確認が発生するのでHP手順書では一度sshで接続しろ、とある。 しかしながら、この時のユーザは何で実行するのか不明である。

 HPEPPをインストールしたホストとユーザでssh接続するとESXiを正常に遮断できる。しかし、HPEPPから同一コマンドを実行させてもauth.logを確認すると接続が途中で切れている様である。

 サポートにHPEPPはESXi 7.0に非対応等と回答して、質問しても不明瞭なので、


ssh -o 'StrictHostKeyChecking no'

 

 の様に明示的にfingerprint確認を省略させると正常に動作した。

 

VMware ESXi Server 6.7 以降と組み合わせたHPE PP の使用
HPE PP のインストールが完了したら、以下の手順に従ってHPE PP を使用します。
手順
1. Linux 仮想マシン(Debian)をESXi の下に展開します。
2. Open VM Tools をLinux 仮想マシン上に展開します。
3. sshpass ソフトウェアをインストールして(apt-get install sshpass)、SSH デーモンが実行されていることを確認してください。
4. ESXi でSSH コマンドを有効にします。
5. Linux 仮想マシンのターミナルからSSH を使用してESXi に接続します。この手順は、Linux 仮想マシンとVMWare ホスト間の接続証明書を取得するために必須です
6. SSH 接続を終了して、Linux シェルに戻ります。
7. Linux 仮想マシンにHPE PP をインストールし、電源の設定を行います。
8. [設定] メニュー > [シャットダウンパラメーター] > [構成を編集]に移動します。
9. シャットダウン構成の編集を選択して、シャットダウンのタイプをスクリプトに設定し、シャットダウンスクリプトのフィールドに次の情報を入力します。
sshpass -p 'password' ssh root@ESXi_IP_address poweroff

2020-11-25

  各所に記載されていますがWindows 10 1909で内蔵日本語キーボードと外付け英語キーボードとを併用するときの諸設定。

  まずToday's nonsense紹介されている手法を試したところ、 プランAは目的の動作をしなかった。内蔵、外付け共に日本語キーボードとして認識された。

 プランBの通り、言語設定のキーボードはPC101、内蔵キーボードは日本語キーボード、特定のHIDを英語キーボードとして

OverrideKeyboardType:4(0x00000004)

OverrideKeyboardSubtype:0(0x00000000)

 を設定したところ、目的の動作となった。


 しかしながら、1点問題がある。

  RDP接続後、接続先のOS上で内蔵キーボードが英語キーボードとして動作してしまう。例えば「Shift + 2」を打鍵すると「@」が入力される。

 よく観察すると、完全に英語キーボードとして動作している様なので、概ね以下の様な対応となっている。幸いながら日本語キーボードは英語キーボードより鍵数があるので、機能しないキーがあるものの、入力は一式可能な様である。

 

「む」→「\」

「@」→「[」

「[」→「]」

「円」→機能せず

「ろ バックスラッシュ」→機能せず 


 なお、以前使用していた環境(2016頃のLTSB)ではRDP問題がなった気がするので、1909以降で発生していると思われる。

2020-08-07

 大都会岡山の求人内容が泣けてくると俺の中で話題に。


 ベンダーからの書類をちょっと見て軽く助言する程度なら、謝礼2万円でも良いでしょう。

 真剣に提案された内容を比較検討したり真面目に仕事をするのであれば、1日10万円位は当たり前な気がします。簡単に助言、事例提示と言いますが、判りやすく説明したり資料を準備するには相応の時間が必要です。


 そして、「助言」というのが曲者で、権限があるのか無いのか。多分、無いのだろうな。 


----

部署・役職名 【副業兼業】岡山県GIGAスクール構想推進ディレクター

職種

CTO・CIO

プロジェクトマネージャー(Web・オープン系)

システムコンサルタント

業種

自治体

勤務地

岡山県  

仕事内容 【募集背景】

国が推進するGIGAスクール構想により、岡山県においても、県立学校の児童生徒「1人1台端末」の実現や、通信環境の整備等を令和2年度から順次進めているところです。

併せて、新型コロナウイルス感染症拡大の第2波、第3波による再度の臨時休業に備えた県立学校のICT環境の整備については、本年10月末を目途に整備を図ることを目指しています。

今後、この急速な学校ICT化を進める中で、岡山県教育委員会や学校の専門的知見を補う必要があると考えられ、通信環境整備や、端末・情報教育コンテンツの導入など総括的にアドバイスができる人材の確保が急務となっています。

そこで今回、岡山県のGIGAスクール構想実現に向けて、副業兼業でディレクターを担っていただける方を募集します。


【業務内容】

■技術的な知見を用いた支援

 ・G Suite及びOffice365に対応したクラウド環境の構築において、活用・管理しやすいテナント構築を設計する上での技術的助言

 ・校内通信ネットワークや学校と外部をつなぐインターネット接続回線などの通信環境の整備、端末や教育用コンテンツ導入等における、県とベンダーとの仲介、第三者的立場からの助言

また、段階的に、以下についてもお願いしたいと考えています。

 ・県立高等学校におけるBYODの円滑な導入に向けたコンサルティング

 ・新たな「教育情報セキュリティポリシー」策定後における各県立学校への円滑な導入に向けての助言 等

■プロジェクト全体の戦略策定、施策実行に関するアドバイス

 ・知識やスキル、経験に基づく専門的なアドバイス及び参考となる他事例の提示

 ・ICT教育推進プロジェクト会議(不定期:月1~2回程度)への助言 等


【得られるキャリア価値】

GIGAスクール構想は岡山県においても、日本全体においても、教育委員会における一大プロジェクトであり、本業務に携わることで、自治体内の政策形成過程の一部分を垣間見ることができ、官公庁におけるアドバイザリーとしての知識や経験を得ることができます。


【参考情報】

各項目の6月末時点の進捗状況と今後の展望は以下のとおりです。

〇教育用クラウド環境の構築

 令和2年5月に、全ての県立学校の生徒についてGoogleアカウントを1人1アカウント取得が完了。令和3年3月31日までに、アカウントの環境設計構築及び運用、各学校ドメインから県統一ドメインへの移行を行うが、端末購入に関する基本設定に必要な項目は、9月~10月を目途に行う予定です。

〇端末の導入(BYODを含む)

 教員用端末(全校種)、生徒貸出用端末(県立高校等)の購入は、公費で、10月末までに整備を図る予定です。 

 生徒用端末(県立高校)については、BYOD方式により、各高校が令和3年度または令和4年度の入学生から順次導入していくことを検討しています。

〇通信環境の整備

 令和3年3月31日までに、全県立学校の校内LAN整備を行う予定です。令和2年7月から順次県立学校内の整備を開始し、県立中学校、県立特別支援学校は、10月末を目途に整備を図るとともに、県立高校も順次整備を図っていく予定です。また、県立学校と外部をつなぐインターネット接続回線の増強についても、10月末を目途に整備を図ることとしています。

〇教育情報セキュリティポリシーの策定

 令和3年4月から、今後新たに策定する「教育情報セキュリティポリシー」の実施を目指して進めているところです。一方で、新型コロナウイルスの感染症対策の対応により、教員用端末等の導入が急務となっており、今後、端末や通信環境等の整備と「教育情報セキュリティポリシー」の策定作業を同時進行で進めていきます。

〇情報教育コンテンツ

 今後、授業内容にあわせた適正な教育コンテンツの導入(導入の有無を含む。)を、検討していきます。

労働条件 ・月4回程度の勤務を予定しております。

※毎月の勤務日・回数などは御本業の御都合などもお伺いした上で、柔軟に調整させていただきます。

※テレワークなどリモートワークも可能です。

・職員としての雇用ではなく、業務委託として、1回の勤務ごとに謝礼(20,000円/日)及び交通費等をお支払いします。

・選考は、1次選考は書類選考、二次選考は8月上旬~中旬でWEB会議等での面接を予定しています。

・令和2年8月下旬からの業務開始を予定しています。

・ご応募にあたっては必ず現在の勤務先の副業関連規定を順守し、就業前に現勤務先にて必要とされる申請手続き等はご自身の責任においてご対応いただきますようお願いいたします。

応募資格

【必須(MUST)】

IoTやAI、ICTなどの先端技術の知識や経験をお持ちであり、以下のご経験がある方

・ベンダーディレクションや進捗・課題管理等のプロジェクトマネジメント経験

・システム開発プロジェクトの上流工程経験(システム化構想、要件定義、基本設計 等)

・大規模インフラ刷新・高度化プロジェクト等の経験 


【歓迎(WANT)】

・事業会社でのCIOやCTO、情報システム部門長として全社のIT戦略策定経験

・コンサルティングファームやSIerでのIT戦略立案やコンサルティング経験

・PMPやCISA、ITストラテジスト、ITコーディネータ等の各種資格を保持している方 


【求める人物像】

・教育に関心があり、GIGAスクール構想という新しい取組に前向きかつスピード感を持って取り組んでいただける方

・協調性や社交性がある方

・対人折衝能力があり、人を動かすことに長けている方

・受け身にならず、主体的に自らの仕事を作り、取り組める方

2020-07-22

 職場でアプリチームから「開発機をリース返却するのでHDDを全消去」という要望が来た。
 サーバはHPE製品で、intelligent provisioning機能を起動してRAID設定とディスク消去すれば良いので、安請け合い。

 ところが、intelligent provisioningが起動しない。電源投入後F10を押下するとintelligent provisioningへ遷移する筈だが、そのままスルーして光学メディアによる起動を試行してしまう。
 HPEのサポートサイトを確認すると、intelligent provisioningの更新用.isoが提供されているので、これをUSBメモリに焼いて起動、intelligent provisioningを再導入せよとある。これを試したのだが、本体NVramへの書込に失敗した旨のエラーで導入できない。

 困ったところで思い出したのはGPartedである。これはdebian linuxにパーティショニング用ソフトを追加したlive linuxである。debian LinuxではHW RAIDも各種サポートしている。
 GPartedを起動して、既存パーティションを破壊。1パーティションに変更する。
 その後に、GPartedに含まれるshellを起動、shredコマンドで当該パーティションを安全に消去すれば良い。
 ディスク消去と言えばDbanがあるが、こちらはHW RAIDへの対応が無いのでサーバには使えない。

 一つ失念していたのは、shredコマンドをオプション無しで実行してしまった事である。-vオプションを付与しておけば進捗が見えるのだが、どの程度で終わるのか判らない状態である。また、標準で3回ランダムデータ書込するのだが、最近の高密度ディスクであれば1回の書込で十分である。
 何と言っても1TB HDD x12本で実容量10TB(消去速度向上のためRAID 0設定に変更)もあるので、4連休で何とか終わって欲しい....。

2020-07-21

 チラシの裏です。
 iris keyboardからF13,F14を送出、Windows IMEをon/offができる様になった。
 しかし、Mac OSからRDP接続すると、上記のキーコンビネーションが利用できない。

 Mac OSでKarabiner-Elementsを設定してF13,F14をLang2,1へ割当しているので、これを一時的に解除。
 Mac OSからRDPでWindowsへ接続。
 Keymillで観測すると、F13はPrint Screen、F14は無反応であった。

 調査する(Link pdf)と、Mac OSの拡張キーボードはPrint Screen Keyは存在しない。F12の隣はF13が位置している。Windows Keyboardでは当該箇所はPrint Screenが位置している。Mac OSではiris keyboardのF13がPrint Screenとして認識されており、これがRDPを伝わってWindowsでPrint Screenとして認識されている様子。
 しかしながら、F14がScroll lockとして認識されないのは謎。

2020-07-08

 以下は筆者の独自研究が含まれています。

 Microsoft製品、特にOffice系製品はUI設計が悪化する一方である。

 初期のOffice(Office 2003辺りまで)ではメニューに関して良くも悪くもMacと似た様なキー操作体系を取っていた。
 Mac OSであれば、コマンドキー押し下げに、何らかのキーを押す。例えば、Command + Qはアプリの終了とガイドラインがあり、それに沿った実装が原則。
 WindowsもCtrl + Xが大概はアプリ終了のショートカットである。
 この時代のショートカット(メニュー呼び出し)は「何らかのmodifer keyを押しっぱなしにする」「特定のキーを押す」という操作が基本であった。

 この原則が怪しくなるのがOffice 2007辺りである。(バージョンは忘れた)
 リボンインタフェースが採用されたのだが、この代償が大きかった。コマンド呼び出し方法が追加されただけであれば問題は無かった。リボンインタフェースを非表示にすれば良い。

 どうも、Microsoftとしては「メニューのコマンドとショートカットを覚えるのは難しいから、リボンインタフェースのボタンをマウスで押させれば良い」と考えている節がある。

 キーボードショートカットは従でマウスが主と考えたのだろうが、Office製品のExcel、Wordではキーボード操作が主だと思うのだ。頻繁にマウスとキーボードとの持ち替えは辛いものがある。また、マウスを主としてリボンインタフェースを使うにしても、アイコンのメタファーが不適切で(独自研究)アイコンを押すと何が起きるのかよく判らない。

 さらに大きな問題はショートカットキーが大幅に変更された事だ。
 ここで「Ctrl + 1文字」のショートカットキー操作体系が崩れた。従来の「Ctrl + 1文字」のショートカットの一部が、「Altを1度押す。プルダウンメニューを選択する1文字を押す。プルダウンメニューから目的のコマンドを選択する1文字を押す」という3アクションに変更されてしまったのだ。 これでショートカットの操作方法が2種類になってしまった。


 そしてとどめはOffice 2010辺りから導入されたメニューバーの一番左にある謎アイコンである。
 Windows,Macに限らず長年、メニューバーの文字部分を押すとプルダウンメニューが表示される、という伝統であったが、一番左の謎アイコンはプルダウンメニューではなく、初期設定等の新ウィンドウが表示される。これでUIとしての一貫性も無くなってしまった。

 Mac OSも近年はUI一貫性が崩れているが、キー操作の一貫性は残っている。

 無論、タブレット端末時代を踏まえるとキーボード前提のUIは、という意見も判るのだがOAの世界では教育コストも馬鹿にならないのでUIの一貫性は重要だと思う。

2020-07-01

 数年間HP MicroServer & NAS4Free によるファイルサーバを運用してきたがRACのJava対応やHWサポート期限を考慮して次期HWによる更新を行った。

MB:ASRock X470D4U
Memory:Crucial CT16G4DFD8266.C16FD1 x2 32GB実装
Case:Cooler Master CM690
Power:Antec NeoEco 550Gold
CPU:Ryzen 1600AF







2020-06-30

 詐欺っぽい何かの様なものを発見。

 Yahoo!ショッピングに出店している会社であるが、当該の住所はYahoo!で調べると存在してない。

 「群馬県前橋市横手町311-5」という住所は一見Validなのだが、Yahoo!で地図を調べると301番から315番は欠番である。
 この住所を地図検索すると地図は表示されるので一瞬実在の会社と勘違いしがちだが、web地図は住所が存在しないと地区の中心を表示する仕様の様で、本当に当該番地が存在するか確認する必要がある。


 Yahoo!ショッピングは通常ユーザには補償をしてくれない。
 しかし、Yahoo!プレミアムに加入しても補償があると安心してはいけない。品物を送付してこないタイプの詐欺だと、弁護士費用補償のみで支払いに対する補償は存在してない。この手の詐欺では弁護士費用を払ったとしても支払いを取り戻す事は事実上不可能なので、この補償は意味がないと言える。

 無論、住所が間違っているという可能性も否定はできない。





2020-06-24

 Xigmanasでsamba Active Directoryへ参加する時の設定。

「Environment LOGNAME is not defined. Trying anonymous access.」と表示されていますが、これはbugではなく正常とのこと。








2020-06-20

新規運用を開始したxigmanasでHW二重障害発生。
RAID-Z2なので稼働は出来るがせっかく本番稼働可能な状態になったのに残念。

障害1 resilver中にHDDが破損。biosからは認識されるが、ディスク応答せず。コマンドタイムアウトになる。

障害2 HDDを搭載しているiStar製HDDラックで特定のディスクのみ内部障害でHDDが認識されない。


障害1対象のHDDはSRMなので、resilverの様にrandom writeが大量発生する操作で負荷が高かったのかも?新品なのだが。

(追記)
障害1 HDDを購入したツクモへ現物を持ち込んだところ現地でS.M.A.R.Tを確認、代替セクタが大量に発生していたので、即時交換となった。

障害2 障害切り分け後、詳細な手順と共に国内代理店(センチュリー)へ修理依頼。何故か事象再現せずとなったが、別の製品に交換してくれた。交換後は正常である。代理店のサポートは迅速で非常に良かった。



2020-06-19

 xigmanasでファイル共有をapple talk & smb両方から利用可能とする設定。
 先人の知恵をお借りする。

 SMB共有

 Services > SMB > SettingsのGUIで設定できない部分をAdditional parameterで設定する。
 コメントアウトしている箇所の理由は以下。

ea supportはGUIで設定する
fruit, read onlyの設定はGLOBALで設定せず、SharesのGUIで設定。なお、標準で以下の設定値となる。

    delete veto files = Yes
#    ea support = yes
#    fruit:encoding = native
#    fruit:locking = netatalk
#    fruit:metadata = netatalk
#    fruit:resource = file
    hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/
#    read only = No
    streams_xattr:prefix = user.
    streams_xattr:store_stream_type = no
    veto files = /lost+found/
    vfs objects = catia fruit streams_xattr
    winbind normalize names = no


 AFP共有

 こちらはServices > AFP > Sharesで共有パス毎にAdditional parameterを設定。


ea = samba
veto files = /lost+found/
delete veto files = Yes
file perm = 0660
directory perm = 0770
spotlight = yes

2020-05-30

 XigmaNAS 12.1 & Ryzen 1600AF環境でPower Deamon設定でEnable the server control utilityをonにすると問題が発生する。

 この機能を利用する場合、CPU Maximum FrequencyとCPU Minimum Frequencyを明示的に指定する必要がある。これらを指定しないと、パラメータ保存後、XigmaNASが再起動を繰り返す。

 この問題で1日以上はまってしまった。

(追記)
xigmanasのforumに投稿したところ、同様の事象が発生して同一の解法を取っているというpostがあった。

2020-05-21

 備忘録として。

 企業でXenAPP等を使用して、サーバ上でMS製Application(MS Office等)を使用する際のライセンス体系について。

 Microsoftの思いやりとして、1ライセンスを同時に使用しなければ、もう一台のコンピュータにコピーしても良い、というものがある。(この表現は概要説明で、無条件ではない。詳しくはEULAを参照)

 企業で、Volume Licenseで1ユーザの1端末に1ライセンスのOfficeを割当としている場合、別途サーバ上にXenAPPでOfficeを利用する場面を前提とする。
 この場合、サーバ上のOfficeは追加ライセンスが不要である。具体的には「デスクトップ仮想化ライセンスガイド - Microsoft Download Center」に記載されている。

6. マイクロソフトのデスクトップ アプリケーションのライセンスをデスクトップに割り当てた場合、そのアプリケーションは、ローカルのデスクトップ上での使用と、リモート デスクトップ サービスを利用したリモートでの使用の両方が可能になるのですか。

そのライセンスがボリューム ライセンスによって取得されたものである場合は、両方の使用が可能になります。ボリューム ライセンスによって取得したデスクトップ アプリケーションのライセンスでは、ソフトウェアをローカルにインストールする権利と、そのソフトウェアを Windows Server リモート デスクトップ サービス (または同様のテクノロジ) を利用してネットワークから使用する権利が供与されます。

 但し、これはOEMやFPP(パッケージ)には適用されない。家庭向けPCでOffice付属のものがあるが、このOfficeはOS同様にOEM版である可能性が高く、上記が適用できないと考えた方が良い。(付記 OEM版Officeでも購入後90日以内にSAを購入すると、上記権利が付与される)


 RDPやVDIでサーバ上のOfficeを利用する場合、RDS CALが別途必要になる。Windows ServerではRDP接続が同時2セッションまで可能であるが、この権利はあくまでも「サーバ管理」のためのものであり、一般的な業務のものではない。

 サーバ上に業務データをアップロードして、「サーバ上で」Excelデータを修正、という使用方法を見かけたことがあるが、これはWindows Server OSの使用許諾に違反している。
 さらに、帳票生成自動化のため、サーバへExcelを導入、Excelは1本で良いと提案をする一部上場企業が存在しているのだが、Microsoft Officeの使用許諾に違反している事は間違いないだろう。この企業はこの構成を多数納品しているそうだ...。

2020-05-16

Sambaのadministratorパスワードを失念した時の対応

samba-tool user setpassword Administrator

で新しいパスワードを設定する。

2020-05-12

 電子データは永遠なのか?
 実は録音、録画した貴重なデータはバックアップを取っていても、永遠ではない。

 先日、家族より以前飼っていた犬の動画が見たいと相談された。とても思い入れがあるので、再度見たいのだと。
 その動画はガラケーで撮影されており、Nancyというcodecの様だ。
 調査したところ、開発ベンダのサイトは閉鎖されており、再生用ソフトウエアは既にダウンロード不可。家族がしまい込んでいたWindows機に再生ソフトウエアがインストールされていたのみであった。
 つまり、このWindows機が動かなくなるとデータは残るが再生できないゴミと化す。

 仕方ないので、動作の怪しいWindows機にスクリーンキャプチャソフトを導入して、擬似管面撮影ならぬ動画キャプチャ。元々の動画はフレームレートが低いので十分に動画キャプチャ可能で画質も十分。これを取り出して送付。VLCで再生可能になり蘇った。
 普及しているフォーマットにしておけば、長持ちするだろう。


 安心していたら、筆者にも災難が降りかかってきた。
 過去の録音物は編集を考慮してSound Desinger II形式で保存していた。当時は業界標準であり、AIFF等と違ってタグも打てるので便利だったのだ。
 Mac OS X時代になってもBias-incのPeakで編集できたので、安心していた。

 しかしながら、Bias-Incの閉鎖とPeakの終了、Open SourceであるAudacityで同等の操作は行えるが、Sound Designer IIはサポートしていないという衝撃の事実が。(オープンソースだからお前が追加実装しろって?)

 調査したところ同じ境遇の方はいる様でMaxsdTwoWavで変換しろ、というのが判ってきた。

 ここで判った様に電子データは永遠ではない。



国産で軽量、携帯機器に適したコーデック

サウルス「MI-E21」の発売と同時に開始された、Nancy形式によるザウルス向けの動画配信サービス「Pocket Nancy」。シャープのインターネット接続サービス「シャープスペースタウン」経由で各種ビデオクリップをダウンロードして映像が楽しめる
 Nancyコーデックは、オフィス ノアが開発したビデオコーデック技術です。このコーデックで使われている技術は、これまでの動画圧縮伸張技術とは大きく異なっています。その最も大きな特徴は、「圧縮に必要な計算が少ない」ということです。

 他のコーデックで代表的なものとしては、例えばMPEG-4がありますが、この方式では動画データを圧縮するために、離散コサイン変換(DCT)や動き予測といった複雑で計算量の多いアルゴリズムが使われます。

 対してNancyコーデックでは、オフィスノアの考案した「SMSP(Structured Meta Scale Polygon=構造化自在多角形)符号化」というアルゴリズムが利用されています。これは、イメージを多くの形とサイズのブロックに分けて圧縮するという方法で、図の複雑さによって1×1~32×32ピクセルの四角形ブロックにイメージを分割し、これを加算・減算やビットシフトといった簡単な計算のみで圧縮します

2020-05-09

GitHubにてFileMaintenance version 2.0.1をリリースしました。

Destinationのスペルがコメントと出力メッセージでtypoしていました。が変数名では正しくなっていた....。

2020-04-24


 テレビでも良く宣伝をしている某社が納品したPowerShellスクリプトで凄いbugを発見。
 どうも作成者はWindows外部コマンドとPowerShell cmdletとを等価に扱っている様で、cmdletのファイル削除エラーを$LASTEXITCODEで拾えると思ったらしい。他の個所のWindows外部コマンド.exe起動後エラー判定も、同一処理としている。

 ErrorActionPreferenceは設定されていないので、この処理でエラーが発生すると一般的にはContinueされて#エラー判定 以降に進むのだがエラーがキャッチされる事は無い。

 PowerShellではエラーをtry{} catch[exception]{}で判定する必要があるのだが、他のスクリプトにも一切出現していない事から見て、根本的な理解誤りの様だ。
 cmdletで実際にエラーを起こすのは難しい場面もあるが、テストを良く通過したなと思った。
  この会社の「お任せあれ」は怪しいな。

 なお、筆者ならファイルの属性変更して削除できなくしてわざとエラーを起こす等でテストします。
  

  Get-ChildItem $Logs -Recurse -include *.log | Where-object{((Get-Date) – $_.LastWriteTime).Days(後略)   
    #エラー判定
    if($LASTEXITCODE -ne 0)
    {
        "正常に終了しました。"

2020-04-18

 Windowsの予約語を含むフォルダ、ファイルは作成できないと思っていたが、\\.\をパス先頭に付加すると作成できるとの事。
 Windowsサービス機能無効\\?\と似ているが違う様子。
 これで作成したフォルダへアクセスすると「ハンドルが無効です」となる。削除はrmdirで可能。

https://hirahira-net.com/2017/10/26/post-337/

c:\workにconというフォルダを作りたい場合は、
mkdir \\.\c:\work\con
ファイルを作成するためには
copy nul \\.\c:\work\con

 例えばUNIX-Windowsでファイル共有をした時にWindows側でどのように予約語が処理されるか。
 アンダースコアが付与されて処理される。

https://www.too.com/support/faq/mac/finder_os/23555.html



https://www.ipa.go.jp/security/awareness/vendor/programmingv1/b08_01.html

https://all.undo.jp/asr/1st/document/01_03.html
PS C:\WINDOWS\system32> Find-PackageProvider
警告: URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' から '' へダウンロードできません。
警告: 利用可能なプロバイダーの一覧をダウンロードできません。インターネット接続を確認してください。

1. Open Powershell (As Admin)
2. [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
3. Try it again!


https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/trying-to-install-program-using-powershell-and/4c3ac2b2-ebd4-4b2a-a673-e283827da143

2020-04-06

 現在作成中のFileMaintenaceで備忘録。

 PowerShellは変数の型指定は必須ではない。が、判読性の観点で極力型指定をしていた。functionのParam()で[Boolean]指定時の留意点。


 FileMaintenanceではfunctionの呼び出しで呼び出し毎に引数を全て指定していない。スクリプト全体で指定しているもの(定数と考えて良い)は、上位のスコープから落ちてくるのでParamで特段指定をする必要がないため。
 しかしながらfunctionの判読性の観点では何が入力になっているのかが判る方が良い。そのため、スクリプト全体用に定義しているものは以下例で言うところの$GlobalSwitch,$GlobalValueの様に引数として必須ではないが、定数として使用しているのが判りやすい様に記述してみた。


 ここで、[int]は良いのだが、[Boolean]に落とし穴がある。[Boolean]は$NULLを許容しないので、値を定義していないとエラーになってしまう。$TRUE,$FALSE,数値のみを受け入れる。
 特定の状況のみで必要なフラグなどでは未定義状態の場合があるため、これは問題である。仕方がないので、[Boolean]だけは型指定をしない実装としておく、


Param(
[String]$Name ,

[int]$GlobalValue = $GlobalValue
[Boolean]$GlobalSwitch = $GlobalSwitch
)

自己紹介

自分の写真
東京都, Japan
憂鬱な凍死家です。こちらではmixiとは異なり固めの話題中心です。

Total Page View

Categories

Powered by Blogger.

Popular Posts

Blog Archive