ΩΩΩ<ナ、ナンダッテー
知りませんでした。やばいなあ。
Pages - Menu
▼
2014年9月11日木曜日
2014年8月19日火曜日
Excel VBAのRange.Findメソッドは、列幅が足りず#表示になっているセルの値を検索できない
本日、掲題の現象に出くわしたので、対策も含めてメモを残しておく。
2014年8月8日金曜日
2014年7月13日日曜日
PMI日本フォーラム2014 参戦レポート
7月12日~13日の2日間、PMI日本フォーラム2014に参加してきた。
「レポートを書くまでがセミナー」であるが、各トラックの内容を詳細に書くのは問題がありそうなので、所感を簡単に述べるだけに留めることとする。
今年はPMO、ソーシャルPM、リスクといったテーマのトラックを重点的に取ってみた。
「レポートを書くまでがセミナー」であるが、各トラックの内容を詳細に書くのは問題がありそうなので、所感を簡単に述べるだけに留めることとする。
今年はPMO、ソーシャルPM、リスクといったテーマのトラックを重点的に取ってみた。
2014年2月24日月曜日
NTFSアクセス許可の「サブフォルダーとファイルの削除」が強すぎる
NTFSに詳しい人には当たり前の話かもしれないがメモ。
"test" というフォルダを作成し、そのフォルダの配下に "deleteTest.txt" というファイルを作成する。
"test" フォルダにて "サブフォルダーとファイルの削除"の許可にチェックを入れる。
"deleteTest.txt" にて 上位継承を切り、 "削除" の拒否にチェックを入れる。
ツリーで示すと下図のようになる。
この状態でどちらが勝つか。
結果は、"サブフォルダーとファイルの削除" の勝ち。つまり、"deleteTest.txt" は削除できてしまう。
下位のオブジェクトで "削除" を拒否しても全くの無駄。
というわけで、あるフォルダの配下のサブフォルダ・ファイルに対して「原則消せるけど、特定のファイルだけ消されたくない」という要件がある場合、"サブフォルダーとファイルの削除" は使わず、
個人的には下位の設定が勝って欲しいんだけど。こういうのって普通は、まず上位の設定が適用された後、下位の設定で上書きされると思うじゃん?
"test" というフォルダを作成し、そのフォルダの配下に "deleteTest.txt" というファイルを作成する。
"test" フォルダにて "サブフォルダーとファイルの削除"の許可にチェックを入れる。
![]() |
Fig.1 上位で "サブフォルダーとファイルの削除" 許可 |
"deleteTest.txt" にて 上位継承を切り、 "削除" の拒否にチェックを入れる。
![]() |
Fig.2 下位で "削除" 拒否 |
ツリーで示すと下図のようになる。
![]() |
Fig.3 アクセス権設定 |
結果は、"サブフォルダーとファイルの削除" の勝ち。つまり、"deleteTest.txt" は削除できてしまう。
下位のオブジェクトで "削除" を拒否しても全くの無駄。
というわけで、あるフォルダの配下のサブフォルダ・ファイルに対して「原則消せるけど、特定のファイルだけ消されたくない」という要件がある場合、"サブフォルダーとファイルの削除" は使わず、
- 上位フォルダからの継承で "削除" を許可しておく
- 消されたくない下位フォルダ・ファイルだけ、継承を切って "削除" のチェックを外す
個人的には下位の設定が勝って欲しいんだけど。こういうのって普通は、まず上位の設定が適用された後、下位の設定で上書きされると思うじゃん?
2014年2月19日水曜日
VagrantでWindowsゲストを立ててChef-Soloのrecipeを実行する
2014.02.23 Boxの元の仮想マシン名とBoxの名前がカブってて具合悪かったので一部修正。
VagrantはWindows関連の情報が少ないので色々実践してみた。当ブログはWindows技術者の味方です(おおげさ)。
前回のVagrantの記事はあまりに色々端折っていたので、今回はVagrantを知らない人にも分かる様、少し詳しめに書こうと思う。
今回の目的を下記に定める。
ゲストを評価版にしたのは、元々Vagrantが開発環境を作ったり壊したりするためのツールであることから、ライセンスのアクティベーションが発生する製品版よりは評価版の方が適しているとの考えから。
VagrantはWindows関連の情報が少ないので色々実践してみた。当ブログはWindows技術者の味方です(おおげさ)。
前回のVagrantの記事はあまりに色々端折っていたので、今回はVagrantを知らない人にも分かる様、少し詳しめに書こうと思う。
今回の目的を下記に定める。
- ホストOSもWindows、ゲストOSもWindowsという環境
- VagrantによるゲストOSの起動、ゲストOSに対するChef-Soloの自動インストールとrecipe自動実行まで行う
- recipeは、とりあえずお試しということで、IISの自動インストールとする
- ゲストOSはWindows Server 2012 R2 180日評価版とする
- ゲストOSを複数台同時に立ち上げられるように、sysprepも実施する
- sysprepの自動応答ファイルも作成することとする
ゲストを評価版にしたのは、元々Vagrantが開発環境を作ったり壊したりするためのツールであることから、ライセンスのアクティベーションが発生する製品版よりは評価版の方が適しているとの考えから。
2014年2月14日金曜日
インフラデザインパターンを読んだので突っ込みを入れておく
インフラデザインパターン ── 安定稼動に導く127の設計方式を読了。
色々言いたいことがあるので、書評を兼ねて突っ込みを入れておきたい。
すべての突っ込みを書いているとキリがないので、強く気になったところだけ書く方針で。
色々言いたいことがあるので、書評を兼ねて突っ込みを入れておきたい。
すべての突っ込みを書いているとキリがないので、強く気になったところだけ書く方針で。
この本は何か
ITインフラの設計要素(可用性とかセキュリティとか)毎に複数のデザインパターンを紹介し、それらのメリット・デメリットを比較する、というのがこの本の主旨である。全体的な所感
本書全体を通しての感想は、大きく以下の4点。- 一般的に検討しなければいけない設計要素は一通り網羅されている。
- パターンもよく整理されている。
- しかし、明らかにパターンが不足している箇所がある。
- 同列で比較すべきでないパターンを比較している箇所がある。
2014年2月13日木曜日
あふw ネットワークドライブ操作メニュー
業務上、社内のファイルサーバやWebDAVを使うことが多いので、あふwから簡単にネットワークドライブとして接続/切断できるようにした。
F8キーにネットワークドライブメニューを割り当てた。
F8キーにネットワークドライブメニューを割り当てた。
Kxxxx="0119&MENU $~\NetworkDriveMenu.txt"
afx ネットワークドライブメニュー "P webdav1" net use P: https://example.co.jp/webdav1/ password /user:username "Q fileserver1" net use Q: \\fileserver1\share password /user:username "0 deleteAll" powershell $~\deleteAllNetworkDrive.ps1
@(gwmi Win32_MappedLogicalDisk) | % { net use $_.DeviceID /delete }
2014年2月11日火曜日
イメージファイト2周目7面後半新パターン
2014.2.15 動画を追加。
イメージファイトの2周目7面後半は難所として有名だが、この度、背景の星を目印に位置合わせをする横着パターンを開発したので、ここに発表する。
正直、イメージファイトのトッププレイヤーのプレイを見たことがないので、もしかしたらすでに誰かが同じことやってたりして。。。
もし世界初だとしたら7面後半の攻略に革命が起きるのではないか。
イメージファイトの2周目7面後半は難所として有名だが、この度、背景の星を目印に位置合わせをする横着パターンを開発したので、ここに発表する。
正直、イメージファイトのトッププレイヤーのプレイを見たことがないので、もしかしたらすでに誰かが同じことやってたりして。。。
もし世界初だとしたら7面後半の攻略に革命が起きるのではないか。
2014年2月10日月曜日
SubInACLのFlagとAccessMask早見表
dsp74118の補完庫: Windows のオブジェクトのアクセス権を操作するコマンド subinacl が便利だった で触れたSubInACLのFlag、AccessMaskの早見表を作った。
俺の中ではアクセス権変更ツールとしてのSubInACLはオワコンだが、現在のACLを確認するツールとしてはまだまだ便利に使えると思う。
俺の中ではアクセス権変更ツールとしてのSubInACLはオワコンだが、現在のACLを確認するツールとしてはまだまだ便利に使えると思う。
パスをあふw(Afxw)で開く(File URI Scheme対応版)
引数で与えたパスをあふwで開くvbs。今日、少し手を加えたのでpostしておく。
元ネタは、何年も前にどこかから拾ったもの(2chのあふスレかな? ググったけど出てこなかった)。
あふwこまんど使用。
あふwこまんどは(というか、あふw自体が)ローカルパスとUNCパスは開けるけどfile URI Scheme(file:///)が開けなかったので、その考慮を付け加えたもの。
あふw 及び あふwこまんど のインストール先が"%APP%\afxw\"であることが動作条件。環境によって27~29行目を書き換えてもらえばよいかと思う。
Everythingの「規定のファイラーでパスを開く」に登録しておいたり、ブラウザやメーラーの"file:///"のコンテキストメニューに追加したりすると便利なんではないかと思う。
元ネタは、何年も前にどこかから拾ったもの(2chのあふスレかな? ググったけど出てこなかった)。
あふwこまんど使用。
あふwこまんどは(というか、あふw自体が)ローカルパスとUNCパスは開けるけどfile URI Scheme(file:///)が開けなかったので、その考慮を付け加えたもの。
あふw 及び あふwこまんど のインストール先が"%APP%\afxw\"であることが動作条件。環境によって27~29行目を書き換えてもらえばよいかと思う。
Everythingの「規定のファイラーでパスを開く」に登録しておいたり、ブラウザやメーラーの"file:///"のコンテキストメニューに追加したりすると便利なんではないかと思う。
' Open with Afxw.vbs ' ver.1.1 dsp74118 ' Description: Open path(Local path/UNC path/URI) with Afxw ' Requirement: あふこまんど(AFXWCMD.EXE) is installed in %APP%\afxw\ ' args: ' path string Option Explicit 'Function UrlDecode ' Description: Decode UTF8-Encoded-URI ' args: ' strSource: Encoded URI string ' return: ' Decoded URI String Function URLDecode(strSource) Dim objSC Set objSC = CreateObject("ScriptControl") objSC.Language = "Jscript" URLDecode = objSC.CodeObject.decodeURIComponent(strSource) Set objSC = Nothing End Function ' main On Error Resume Next Dim wshShell Dim app, afx, opt, quoteChar, SPC, YEN Set wshShell = WScript.CreateObject("WScript.Shell") app = wshShell.ExpandEnvironmentStrings("%APP%") afx = app & "\afxw\AFXWCMD.EXE" opt = "-p" quoteChar = """" Dim path, arg, runCmd Set arg = WScript.Arguments If arg.Count = 0 Then WScript.Quit End If path = arg(0) ' convert URI(file scheme) to UNC If Left(path, 8) = "file:///" then path = Right(path, Len(path) - 8) path = URLDecode(path) End If runCmd = quoteChar & afx & quoteChar & " " & opt & quoteChar & path & quoteChar wshShell.Run(runCmd)
2014年2月7日金曜日
PowerShellでNTFSのACLをいじる(備忘録レベル)
2014.2.13修正 ACLの適用範囲や継承は既存の設定を引き継ぐよう修正
仕事で下記スクリプトを作ったので記録として残しておく。
機能は、引数で与えたフォルダに対し、セキュリティグループ "domainname\groupprefix*" の「サブフォルダーとファイルの削除」権限を削除するというもの。
このスクリプトをベースに、色々と応用が効くはず。
仕事で下記スクリプトを作ったので記録として残しておく。
機能は、引数で与えたフォルダに対し、セキュリティグループ "domainname\groupprefix*" の「サブフォルダーとファイルの削除」権限を削除するというもの。
このスクリプトをベースに、色々と応用が効くはず。
$Path = $args[0] $acl = Get-Acl $Path $groupAccess = $acl.access | where {$_.IdentityReference -like "domainname\groupprefix*"} if ($groupAccess){ $Access = $groupAccess.IdentityReference "Modifying Permissions For $Access" $Permission = $groupAccess.FileSystemRights "Before: $Permission" $Permission = ($Permission -replace "DeleteSubdirectoriesAndFiles(, )*","") -replace ", $", "" "After: $Permission" $inherit = $groupAccess.InheritanceFlags $propagation = $groupAccess.PropagationFlags $AccessRule = New-Object system.security.AccessControl.FileSystemAccessRule($Access, $Permission, $inherit, $propagation, "Allow") $AccessModification = New-Object system.security.AccessControl.AccessControlModification $AccessModification.value__ = 2 $Modification = $False $acl.ModifyAccessRule($AccessModification, $AccessRule, [ref]$Modification) | out-null } Set-Acl -aclobject $acl -Path $Path
VagrantでWindowsゲストのBoxを作成
前々からVagrantをいじりたくてうずうずしていた私。最近ようやく触る時間ができたので、Windows Server 2012 R2ゲストのBox自作に挑戦した。
最初は[Vagrant] WindowsServer2012R2のBoxを自作する #Vagrant_ja - NAVER まとめを参考にさせてもらっていたが、このまとめの作者であるk-kukitaさんから「今はvagrant-windows使ったほうがよい」とアドバイスを頂いたので、早速vagrant-windowsを試してみた。
必要な手順はvagrant-windows/README.md at master · WinRb/vagrant-windows · GitHubにほとんど書いてある。
なお、VagrantやVirtualBoxのセットアップは、この記事では省略する。