ラベル おきつねさまのさばかんり の投稿を表示しています。 すべての投稿を表示
ラベル おきつねさまのさばかんり の投稿を表示しています。 すべての投稿を表示

2011/02/13

久々に・・・


・・・おきつね鯖の Cドライブを、Glayrysoft DiskSpeedupでDefragってみた。


80GB(使用領域40GB強)を2時間弱で完了・・・ 掛かる時間の短さも然るコトながら、
その精度はMSのモノなど比べ物にならない・・・ 無償でこの性能とは、全く脱帽しきり・・・(^_^;)

運用している状態のまま システムドライブのフラグメントを解消できる時点で、MSのモノなどとは域が違う。

ただソレさえも不安定な機材では、完了を待たずにオチてしまって、
完全に機能しないコトを、のて機の鯖たんで思い知っていたりする・・・orz

Video再生優先で強引に Canopus VideoGate1000挿している端末でも、同様の結果になるトキがあり、
いい加減機材更新しないと どうしようもない状況になりつつあるのをヒシヒシ感じていたり・・・(´ヘ`;)


あと、骨董機材でUSB機器挿しっぱで使うと、システム落ち易くなる事を確認できた。
(XP/2003系カーネルだけカモだけどね、登場当初にUSBは1.1しかなかったOSと機材だし・・・)

のて機の鯖たんが顕著だったので判ったのだが、USBのHIDを抜いて(切替器で遮断して)おくと、
長期通電してもシステムは落ちなくなった。

そもそも安定して当然の鯖たんが、アレ程までにあっさりと、散々落とされていた時点で、
旧来機でのUSBの挙動は悪としか云い様がナイ。

おきつねさまは2k時代と2k3移行直後、USB接続運用してしたストレージが、
USB石とドライバの不具合起因なアクセス不良で、大規模データ破損被害を被った経験がある。 
故に、3.0になっても使いたいとは思えないし、そもそもNEC製の半導体は嫌いだ!
・・・OnBoardで1回、PCI板で1回、USB石がトんでお亡くなりになったのだ、そりゃ毛嫌いもするさ ┐(´_`)┌

イマドキ 用法用量を守った運用で あっさり逝くような半導体造ってるメーカーなんて、存在価値ナイしな( ´,_ゝ`)プッ

で、おきつねさま、端末構築関連で問われれば、外部ホットスワップストレージには、
eSATA使うコトを激しく推奨している。

また、USB機器・・・ 取り分けHIDは、不要な時に切断できるよう、
切替器を付けておいたほうが良いと思う、今日この頃(^_^;)

2009/11/05

祝 鯖たん復活!


・・・フォルダ構成は 未だ中途半端だが、暫定なので仕方ないw

ま、再インスコ自体は、随分前に終わってたんだけど、
写真ファイル管理用のVBScript組んでたら、Web鯖設定のほうが遅れてしまって(^_^;)

ファイル管理系Script大増発したので、近日公開予定。

2009/10/20

ようやく手をつける・・・



ローカル鯖メンテ中・・・

暫定的に、端末を鯖代わりに接続してますが、全てのファイルを格納していない機器なので、
暫くの間 ココの画像で、表示できないモノが数多くあるかと・・・ m(_ _)m

・・・って、今までも散々オトしてたケドww

2009/04/22

VBScriptで鯖管理 そにょ2c・・・

・・・判ってるヒトが大半だと思っていたので触れてなかったんだけど、

おきつねさまのように AMD GeodeNX1750@14W を ハードウェア(マザーボード)の設定で適正クロックを設定できないタイプの
FSB100MHz機 で 利用している向きでは、某CrystalCPUIDで倍率変更を行い、適正クロック動作を実現するくらいしか、簡単な手段は無い。

が、ソレは、ログオン後、スタートアップフォルダへのショートカット登録での実行では、
Windows起動中には、プロセッサ本来の性能の恩恵を受けることは無い。

・・・ツマるトコ、ログオン前にクロックアップを実行させ、起動を速くしたいと考えたワケだ。
まぁ、オーバークロッカーも少なからず同様の問題を抱えている場合もあると思う。

そこで、辿り着いたのが、スタートアップスクリプトの利用だった。

・・・ソレ自体は まぁ簡単なのだが、レジストリの [HKEY_USERS\.DEFAULT][HKEY_CURRENT_USER] 他の
[Software\Microsoft\Windows\CurrentVersion\Run]
の 中身が残っていては、ソレを阻害してしまう場合がある。
その為、過去ログ  
VBScriptで鯖管理 そにょ2・・・
VBScriptで鯖管理 そにょ2b・・・
にもあるように、専用スクリプトsScriptor.vbeを組み、
ソレら全てをソチラに移行して利用するコトとした。
今、スタートアップスクリプトとしてのsScriptorの1つは、
    C:\WINDOWS\system32\GroupPolicy
                           └ Machine
                                └ Scripts
                                      └ Startup
このフォルダに配している。 そして、同フォルダに配置した、スタートアップスクリプト向けiniファイルの中身は ▼
;{アプリケーションフルパス};{Parameter};{CallType DDE or pnWq or 省略};WindowType 0 or 1;{mSec(Interval) or True or False};[Title(Memo)]
;←行頭にセミコロンで非実行
C:\Applications\System Tools\ProcessorManegements\CrystalCPUID\CrystalCPUID.exe;/F22 /P1 /E;pnWq;;True;[CrystalCPUID]
C:\WINDOWS\system32\system32\dumprep.exe;0 -s;pnWq;;3000;[ShutdownEventCheck]
C:\WINDOWS\system32\regsvr32.exe;/s mqrt.dll;pnWq;1;3000;[MsmqIntCert]
C:\Program Files\Common Files\Microsoft Shared\IME\IMJP9\IMJPMIG.EXE;/Preload /Migration32;pnWq;1;1000;[IMJPMIG9.0]
C:\WINDOWS\system32\IME\TINTLGNT\TINTSETP.EXE;/IMEName;pnWq;1;1000;[PHIME2002A]
C:\WINDOWS\system32\S3hotkey.exe;;;1;1000;[S3hotkey]
C:\WINDOWS\system32\S3tray2.exe;;;1;1000;[S3TRAY2]
見ての通り、クロック適正化を最優先実行させている。 で、以前、スタートアップフォルダにショートカットを登録していて、 ログオン後に自動実行されていたモノは、全てログオンスクリプトのほうで起動させている。
C:\WINDOWS\system32\GroupPolicy
                            └ User
                                └ Scripts
                                      └ Logon
スタートアップスクリプト同様、このフォルダに、sScriptor.vbeとiniファイルを配置している。 そのログオンスクリプト向けiniファイルの中身は ▼
;{アプリケーションフルパス};{Parameter};{CallType DDE or pnWq or 省略};WindowType 0 or 1;{mSec(Interval) or True or False};[Title(Memo)]
;←行頭にセミコロンで非実行
C:\Applications\System Tools\Desktop Extension\IconPositionControl\KH Software Factory\KH DeskKeeper\deskkeep.exe;;;1;2500;[KH DeskKeeper]
C:\Program Files\Common Files\Adobe\Calibration\Adobe Gamma Loader.exe;;;;2000;[Adobe Gamma Loader]
C:\WINDOWS\system32\SxgTkBar.exe;;;1;3000;[SxgTkBar]
C:\Program Files\Microsoft Office\Office10\OSA.EXE;-b -l;pnWq;1;1500;[Microsoft Office]
C:\Applications\System Tools\FEP Extension\XLangBar\XLangBar.exe;;;1;1500;[X LangBar]
C:\Program Files\Absurd Technology Lab\X Wheel NT\X_WheelNT.exe;/startup;pnWq;1;2000;[X Wheel]
C:\Applications\Maintenance Tools\Status Uty\Processor Information\ClockSpeed_D\ClockSpeed_D.exe;;;1;2000;[ClockSpeed D]
C:\Applications\System Tools\HardwareControls\Monitor Extension\CoolMonitorOff\cmoff.exe;;;;2000;[CoolMonitorOff]
C:\WINDOWS\system32\rundll32.exe;shell32.dll,Control_RunDLL desk.cpl,,3;DDE;1;2500;[MonitorProperty DDE]
C:\Program Files\LSoft Technologies Inc\Active@ Hard Disk Monitor\DiskMonitor.exe;hide;pnWq;1;3000;[DiskMonitor]
C:\Program Files\Windows Defender\MSASCui.exe;-hide;pnWq;0;;[Windows Defender]
C:\Applications\System Tools\Desktop Extension\Pop up Luncher\kamin\Orchis\orchis.exe;;;;2000;[Orchis]
;C:\WINDOWS\system32\taskmgr.exe;;;1;2000;[TaskManeger]
上記iniは、フォルダ管理ほか、MS-DOS(Win95)時代から引きずっているモノもあるので、 一般の端末では、そのまま流用はできないだろうが、とりあえず参考にはなるかと・・・(^_^;

2009/04/11

VBScriptで鯖管理 そにょ2b・・・


   2009/03/13 - VBScriptで鯖管理 そにょ2・・・    
の、スタートアップ/ログオン/ログオフ/シャットダウン 向けのスクリプトを更新。

   sScriptor.zip    
▲ を、右クリックしてファイルとして保存してください。

以前の版では、実行するアプリケーションに対するコマンドラインパラメータを
条件なくダブルクォーテーションで囲んで処理していた・・・

以前のiniファイル記述例)
    ;{アプリケーションフルパス};{Parameter};{CallType DDE or pnWq or 省略};WindowType 0 or 1;{mSec(Interval) or True or False};[Title(Memo)]      
C:\Applications\System Tools\ProcessorManegements\CrystalCPUID\CrystalCPUID.exe;/F22 /P1 /E;;1;4000;[CrystalCPUID]
C:\Windows\System32\Notepad.exe;TestText 0000.txt;;1;4000;[Test - Notepad]
C:\WINDOWS\system32\rundll32.exe;shell32.dll,Control_RunDLL desk.cpl,,3;DDE;1;2500;[MonitorProperty DDE]
・・・ので、この指定でも動作していた。
一見問題がないように見えたのだが、この影響で正常動作しないモノがあった・・・(^_^;

そこで、コマンドラインパラメータ(iniファイル中の第2引数)をダブルクォーテーション(Wq)で囲まないコトを既定にし
敢えてインラインパラメータをWqで囲みたい場合は、


そこで、敢えてインラインパラメータをWqで囲まない場合は、CallType引数(iniファイル中の第3引数)に、
pnWq と記述するコトにより、任意で設定が可能なよう変更。

また、インターバルmSecパラメータ(iniファイル中の第5引数)に True と記述するコトで、
その処理の終了まで待機できるようにした。

新たなiniファイル記述例)
    ;{アプリケーションフルパス};{Parameter};{CallType DDE or pnWq or 省略};WindowType 0 or 1;{mSec(Interval) or True or False};[Title(Memo)]      
C:\Applications\System Tools\ProcessorManegements\CrystalCPUID\CrystalCPUID.exe;/F22 /P1 /E;pnWq;1;True;[CrystalCPUID]
但し、確実に単独で動作が完結する処理以外で、この指定は行わないでください。
特に、スタートアップスクリプトとして利用する場合、Windowsがスタートアップで停止していまい、
起動しなくなる可能性があります。
(既定であれば、Windowsのスタートアップスクリプトのタイムアップ設定により回避される)

アーカイブ内のサンプルini
    ;{アプリケーションフルパス};{Parameter};{CallType DDE or pnWq or 省略};WindowType 0 or 1;{mSec(Interval) or True or False};[Title(Memo)]      
;←行頭にセミコロンで非実行
C:\Windows\System32\Notepad.exe;TestText 0000.txt;;1;4000;[Test - Notepad 3SecWait]
C:\WINDOWS\system32\taskmgr.exe;;;1;2000;[TaskManeger 2SecWait]
C:\WINDOWS\system32\rundll32.exe;shell32.dll,Control_RunDLL desk.cpl,,3;DDE;1;5000;[MonitorProperty DDE]
C:\Master\! Creates\Scripts\! TestTargetFolder\TestPopUp.vbs;sScriptor Test1;;1;True;[Test1 ExitWait]
C:\Master\! Creates\Scripts\! TestTargetFolder\TestPopUp.vbs;sScriptor Test2;;1;3000;[Test2 3SecWait]
TestPopUp.vbs;sScriptor Tested;;1;;[Test]

アーカイブ内の.vbsファイルソース
    '***** ↓↓↓ScriptTitle↓↓↓ *********************************************************     
' Startup/ShoutdownScripting with out TestMode
'- Created by LazwardFox -

' Update 20090411 2140 コマンドラインパラメータ(第2引数)をダブルクォーテーション(Wq)で囲むコトを既定に戻し、
' 代替として、CallType引数に pnWq を記述して、パラメータをWqで囲まず利用可能に。
' Update 20090411 1711 iniファイル内、インターバルパラメータ(第5引数)に True を記述で、処理終了待機
' コマンドラインパラメータ(第2引数)をダブルクォーテーション(Wq)で囲まないコトを既定に変更
' 代替として、CallType引数に pWq を記述して、パラメータをWqで囲むことができます。
' Update 20090313 1709 パラメータ省略によるエラー処理を訂正
' Update 20090311 1634 inArray を inArrays に差し替え、必須の lArray を追加
' iniLoaderを合せて修正
' Update 20090226 1908 テストルーチン排除
' Update 20090226 1202 DDE式の記述にフラグで対応へ変更
' Update 20090226 1025 DDE式の記述に、通常呼び出しを""で囲んで対応
' Update 20090226 0630 テストモード追加
' Update 20090226 0605 ウィンドウタイプの指定と、インターバルタイム設定可能に。
' Release 20090226 0451
' Update 20090226 0346 iniファイル仕様に変更
' DevStart 20090226 0235 単純動作のみ機能

'***** ↓↓↓ ObjectDecralations ↓↓↓ *************************************************
Dim My, Shell, Fs
Set My = WScript
With My
Set Shell = .CreateObject("WScript.Shell")
Set Fs = .CreateObject("Scripting.FileSystemObject") 'ファイル制御
End With

'***** ↓↓↓Decralations↓↓↓ *********************************************************
Dim sTitle, artargets, iExe, sWq, rTarget, wType, sSec
Const vbWq = """"
sTitle = Fs.GetBaseName(My.ScriptName)

'***** ↓↓↓MainRoutine↓↓↓ *********************************************************
arTargets = arIni(";")
If IsEmpty(arTargets) Then
Else
For Each iExe In arTargets
If IsEmpty(iExe(0)) or iExe(0) = "" Then
ElseIf iExe(0) = "" Then
ElseIf Fs.FileExists(iExe(0)) Then
sWq = vbWq
pWq = vbWq
If IsEmpty(iExe(2)) or iExe(2) = "" Then
ElseIf Ucase(Cstr(iExe(2))) = "DDE" Then
sWq = ""
pWq = ""
ElseIf Ucase(Cstr(iExe(2))) = "PNWQ" Then
pWq = ""
End If
rName = vbWq & Fs.GetBaseName(iExe(0)) & vbWq
rTarget = sWq & Cstr(iExe(0)) & sWq
If IsEmpty(iExe(1)) or iExe(1) = "" then
Else
rTarget = rTarget & " " & pWq & Cstr(iExe(1)) & pWq
End If
If IsEmpty(iExe(3)) or iExe(3) = "" Then
ElseIf IsNumeric(iExe(3)) Then
wType = Cint(iExe(3))
Else
wType = 0
End If
If IsEmpty(iExe(4)) or iExe(4) = "" Then
ElseIf IsNumeric(iExe(4)) Then
sSec = Cint(iExe(4))
eWait = False
Else
sSec = 0
eWait = iExe(4)
End If
Shell.Run rTarget, wType, eWait
If sSec > 0 Then
My.Sleep sSec
End If
End If
Next
End If
Set Fs = Nothing
Set Shell = Nothing
My.Quit

'***** ↓↓↓Functions↓↓↓ *********************************************************
'------------------------------------
'arIni - スクリプトと同名のiniファイルがあれば、内容を配列で取得
'- Created by LazwardFox -

' Update 20090226 0330
' Update 20090223 0550 変則的フォルダ名回避のため修正
' Release 20090223 0509

Public Function arIni(lS)
Dim sNFull, rFolder, sN, iniFile
sNFull = Wscript.ScriptFullName
rFolder = Fs.GetParentFolderName(sNFull)
sN = Fs.GetBaseName(sNFull)
iniFile = Fs.BuildPath(rFolder,sN & ".ini")
If Fs.FileExists(iniFile) Then
arINI = iniLoader(iniFile,lS,0)
End If
End Function

'------------------------------------
'iniLoader - 対象をiniファイルより取得、既存iniファイルのみ指定可。
'- Created by LazwardFox -

' Update 20090311 1650 inArraysに合せて修正
' Update 20090226 1025 DDE式の記述に対応
' Update 20090226 0855 データ内にコンマを利用可能に
' Update 20090226 0356 多重配列向けに修正
' Update 20090223 0550 戻り値可変 [ 0 - 配列 ] [ 1 - lSplitterで指定した区切り文字で連結された文字列 ]
' Release 20090223 0509

Public Function iniLoader(iniFile, lSplitter, Control)
Dim nS
nS = Fs.GetFile(iniFile).size
If nS = 0 Then
iniLoader = Array(Fs.GetParentFolderName(iniFile))
Else
If IsEmpty(lSplitter) Then
lSplitter = ","
End If
Dim iFile, lResult, strResults, rL, iniLoaded
Set iFile = Fs.OpenTextFile(iniFile,1) 'iniファイルを読み取りモードで開く
WScript.Sleep 150
Do Until iFile.AtEndOfStream '読み込み
rL = iFile.ReadLine
lResult = lResult & "**" & rL & "**"
Loop
WScript.Sleep 150
iFile.Close 'Iniファイルを閉じる
strResults = Replace(Replace(lResult,"****","*"),"**","")
If Control = 0 Then
inArrays strResults, "*" & lSplitter, iniLoader
Else
iniLoader = Replace(strResults,"*",lSplitter)
End If
End If
End Function

'------------------------------------
'inArrays - 多次元配列構築
'- Created by LazwardFox -

'配列 及び 文字列から、区切り文字を指定して多重配列を作成し返す。

' Update 20090228 1248 strLimitters指定に、区切り文字 ~(チルダ)不要に。
' Update 20090228 0833 配列のほか、文字列もソースに適用可能に。
' Update 20090223 0917

'inArrays(
' tSources - 区切り文字を含む文字列 ないし、それらで構成された配列
' ,strLimitters - 区切り文字を順番に並べた文字列を指定
' ,arReturn - 戻り値が代入されます。
' )

Function inArrays(tSources, strLimitters, arReturn)
Dim arSources, arLimitters, iLimitter, arInArrays, iSource, Pc
arSources = tSources
lArray strLimitters, arLimitters '< Update 20090228 1248
For Each iLimitter In arLimitters
If VarType(arSources) = 8 Then
arInArrays = Split(arSources,iLimitter)
Else
Pc = 0
ReDim arInArrays(0)
For Each iSource in arSources
ReDim Preserve arInArrays(Pc)
arInArrays(Pc) = Split(iSource,iLimitter)
Pc = Pc + 1
Next
End If
arSources = arInArrays
arInArrays = Null
Next
arReturn = arSources
End Function

'------------------------------------
'文字列を1文字ずつバラし、配列として返す
'- Created by LazwardFox -

' Release 20090228 1246

' lArray(
' strLetters - 分解したい文字列
' ,rArray - 戻り値が代入されます。任意の変数名を指定
' )

Function lArray(strLetters, rArray)
Dim Pc, rLetters()
Set objADO = CreateObject("ADODB.Stream")
With objADO
.Type = 2
.Open
.WriteText strLetters
Pc = 0
.Position = 0
Do Until .EOS
ReDim Preserve rLetters(Pc)
rLetters(Pc) = .ReadText(1)
Pc = Pc + 1
Loop
End With
rArray = rLetters
objADO.Close
Set objADO = Nothing
End Function


いい加減、共通関数を.wsf(ライブラリ)化しようかな・・・
<そのまま使えるVBscript 鯖管理 起動順序 スタートアップ>

2009/03/13

VBScriptで鯖管理 そにょ2・・・


このログのスクリプトは以後のログで更新しました。[ 20090411 1839 ]

鯖ってより、Windows(NT系2k以降)端末全般に云えるコトかも知らんが、
Windows起動時のアプリケーション自動起動・・・
[スタート]メニュー、[プログラム]配下の[スタートアップ]に登録したり、
レジストリの
   [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run]    
に登録したりと、やり方は様々だろう。

ただ、残念なことに、これらでは起動順序を指定できない。

唯一その機能を持つレジストリキー RunOnce も、既知と思うが、
システムレベルのファイル更新向けなので、初回起動時にのみ動作し、設定が消去される。

スタートアップ起動させたいが、起動タイミングがカブると具合の悪いものも、意外に少なくはナイようだ。
しかも、スタートアップフォルダ登録では、ログオン時にしか機能しない。

ココで 紛らわしいので一応の解説を入れると、[スタートアップ]フォルダ登録での起動と云うのは、
Windowsのブート後、ログオン画面が表示され、
  (オートログオンを設定している場合は少し違うが、実際は同じ。
   マシンがショボいと、一瞬ログオン画面が見えることがあるので判る)
ユーザーがログオンした後の自動起動をサポートしている。
で、グループポリシーで云うトコロの"スタートアップスクリプト"と云うのが動作するタイミングは、
前述にあるWindowsブートの後半で実行される、
つまり、ログオンより、スタートアップのほうが先行動作する・・・ なんて紛らわしい・・・

で、チョイと判ってるヒトなら、グループポリシーで、スタートアップ/ログオンスクリプトに
実行させたい対象を設定して、起動順序をある程度、制御下においてみることも試みていると思う。
本来はスクリプトを登録するのがスヂっポイのだが、実行ファイルも直接置けるし、パラメータの指定も出来る。

で、そのグループポリシーのスクリプト登録、スタートアップ/ログオン/ログオフ/シャットダウン
それぞれ、分けて設定できる、RAMドライブのような変り種利用者だったら、この意味は判るだろうし、
中々に嬉しい機能だろう。
ただ残念ながら、起動順は設定できるようだが、次の処理までの移行時間までは設定できないと見える・・・

しかしまぁ、ココでもVBScriptが使えるってコトで、だったら・・・とチョイっと作って実働させている。

   sScriptor.zip    
▲ を、右クリックしてファイルとして保存してください。


   {sScriptor}.vbe

名称変更 - 拡張子以外 可
iniファイル無しでの単独起動 - 無効
パラメータ - ナシ


   {sScriptor}.ini

名称変更 - 拡張子以外 可

iniファイル内 行書式)

{アプリケーションフルパス};{Parameter};{CallType DDE or 省略};WindowType 0 or 1;{mSec(Interval)};[Title(Memo)]


{アプリケーションフルパス} 起動したいアプリケーションをフルパスで指定
{Parameter} アプリケーションに対するパラメータを記述
{CallType} rundll32.exeほかを使用したアプリケーション起動時には DDE それ以外は指定不要
{WindowType} 0(非表示) or 1(通常)
{mSec(Interval)} 次の処理平衡するまでの時間を1/1000Sec単位で指定
[Title(Memo)] 機能には影響しない、タイトルなどのメモを記述

行頭に;セミコロン配置で、非実行行。



iniファイル例)
   C:\Applications\System Tools\ProcessorManegements\CrystalCPUID\CrystalCPUID.exe;/F22 /P1 /E;;1;4000;[CrystalCPUID]    
C:\Applications\System Tools\Desktop Extension\IconPositionControl\KH Software Factory\KH DeskKeeper\deskkeep.exe;;;1;2500;[KH DeskKeeper]
C:\Applications\System Tools\HardwareControls\Monitor Extension\CoolMonitorOff\cmoff.exe;;;;2000;[CoolMonitorOff]
C:\WINDOWS\system32\SxgTkBar.exe;;;1;3000;[SxgTkBar]
C:\Program Files\Microsoft Office\Office10\OSA.EXE;-b -l;;1;1500;[Microsoft Office]
C:\Applications\System Tools\FEP Extension\XLangBar\XLangBar.exe;;;1;1500;[X LangBar]
C:\Program Files\Windows Defender\MSASCui.exe;-hide;;;5000;[Windows Defender]
C:\Program Files\LSoft Technologies Inc\Active@ Hard Disk Monitor\DiskMonitor.exe;hide;;1;3000;[DiskMonitor]
C:\Applications\Maintenance Tools\Status Uty\Processor Information\ClockSpeed_D\ClockSpeed_D.exe;;;1;1500;[ClockSpeed D]
C:\Program Files\Common Files\Adobe\Calibration\Adobe Gamma Loader.exe;;;;2000;[Adobe Gamma Loader]
C:\WINDOWS\system32\rundll32.exe;shell32.dll,Control_RunDLL desk.cpl,,3;DDE;1;2500;[MonitorProperty DDE]
;C:\WINDOWS\system32\taskmgr.exe;;;1;2000;[TaskManeger]


ちなみにグループポリシーで登録するファイルは、

C:\WINDOWS\system32\GroupPolicy
├ Machine
│ └ Scripts
│ ├ Startup
│ └ Shutdown
└ User
└ Scripts
├ Logon
└ Logoff
に、保存するのが本来らしい、が、そうでなくても機能する。
しかし、[スタートアップ]フォルダのように、ココに直接ファイルを置いただけでは機能しない。
[管理ツール]-[グループポリシー (グループ ポリシー オブジェクト エディタ)]内の、

 [コンピュータの構成]-[Windowsの設定]-[スクリプト(スタートアップ/シャットダウン)]
 [ユーザーの構成]-[Windowsの設定]-[スクリプト(ログオン/ログオフ)]
 
に対し、任意の処理へGUIを使って登録する必要がある。
また、前述のように、既定フォルダ以外に配されている場合は、フルパスでの登録が必要となる。
って、設定がGUIになってるので、心配はナイが・・・

で、以下に、その設定画面の画像を並べてみたので参考にしてほしい。








なんか、このログ作るのに、また新たな副産物が出来てしまった・・・
おかげで、ソースを作ったままの見た目で うp出来るようになった。
と、云うのも、Bloggerの余計な処理のおかげで、preタグが思うように機能しなくてね(-_-;)

んで、今回分のソースなど・・・
    '***** ↓↓↓ScriptTitle↓↓↓ *********************************************************     
' Startup/ShoutdownScripting with out TestMode
'- Created by LazwardFox -

' Update 20090313 1709 パラメータ省略によるエラー処理を訂正
' Update 20090311 1634 inArray を inArrays に差し替え、必須の lArray を追加
' iniLoaderを合せて修正
' Update 20090226 1908 テストルーチン排除
' Update 20090226 1202 DDE式の記述にフラグで対応へ変更
' Update 20090226 1025 DDE式の記述に、通常呼び出しを""で囲んで対応
' Update 20090226 0630 テストモード追加
' Update 20090226 0605 ウィンドウタイプの指定と、インターバルタイム設定可能に。
' Release 20090226 0451
' Update 20090226 0346 iniファイル仕様に変更
' DevStart 20090226 0235 単純動作のみ機能

'***** ↓↓↓ ObjectDecralations ↓↓↓ *************************************************
Dim WSHShell, Fs
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set Fs = WScript.CreateObject("Scripting.FileSystemObject") 'ファイル制御

'***** ↓↓↓Decralations↓↓↓ *********************************************************
Dim sTitle, artargets, iExe, sWq, rTarget, wType, sSec
Const vbWq = """"
sTitle = Fs.GetBaseName(Wscript.ScriptName)

'***** ↓↓↓MainRoutine↓↓↓ *********************************************************
arTargets = arIni(";")
If IsEmpty(arTargets) Then
Else
For Each iExe In arTargets
If IsEmpty(iExe(0)) or iExe(0) = "" Then
ElseIf iExe(0) = "" Then
ElseIf Fs.FileExists(iExe(0)) Then
sWq = vbWq
If IsEmpty(iExe(2)) or iExe(2) = "" Then
ElseIf Ucase(Cstr(iExe(2))) = "DDE" Then
sWq = ""
End If
rTarget = sWq & Cstr(iExe(0)) & sWq
If IsEmpty(iExe(1)) or iExe(1) = "" then
Else
rTarget = rTarget & " " & sWq & Cstr(iExe(1)) & sWq
End If
If IsEmpty(iExe(3)) or iExe(3) = "" Then
ElseIf IsNumeric(iExe(3)) Then
wType = Cint(iExe(3))
Else
wType = 0
End If

WSHShell.Run rTarget, wType
If IsEmpty(iExe(4)) or iExe(4) = "" Then
ElseIf IsNumeric(iExe(4)) Then
sSec = Cint(iExe(4))
WScript.Sleep sSec
Else
sSec = 0
End If
End If
Next
End If
Set Fs = Nothing
Set WSHShell = Nothing
Wscript.Quit

'***** ↓↓↓Functions↓↓↓ *********************************************************
'------------------------------------
'arIni - スクリプトと同名のiniファイルがあれば、内容を配列で取得
'- Created by LazwardFox -

' Update 20090226 0330
' Update 20090223 0550 変則的フォルダ名回避のため修正
' Release 20090223 0509

Public Function arIni(lS)
Dim sNFull, rFolder, sN, iniFile
sNFull = Wscript.ScriptFullName
rFolder = Fs.GetParentFolderName(sNFull)
sN = Fs.GetBaseName(sNFull)
iniFile = Fs.BuildPath(rFolder,sN & ".ini")
If Fs.FileExists(iniFile) Then
arINI = iniLoader(iniFile,lS,0)
End If
End Function

'------------------------------------
'iniLoader - 対象をiniファイルより取得、既存iniファイルのみ指定可。
'- Created by LazwardFox -

' Update 20090311 1650 inArraysに合せて修正
' Update 20090226 1025 DDE式の記述に対応
' Update 20090226 0855 データ内にコンマを利用可能に
' Update 20090226 0356 多重配列向けに修正
' Update 20090223 0550 戻り値可変 [ 0 - 配列 ] [ 1 - lSplitterで指定した区切り文字で連結された文字列 ]
' Release 20090223 0509

Public Function iniLoader(iniFile, lSplitter, Control)
Dim nS
nS = Fs.GetFile(iniFile).size
If nS = 0 Then
iniLoader = Array(Fs.GetParentFolderName(iniFile))
Else
If IsEmpty(lSplitter) Then
lSplitter = ","
End If
Dim iFile, lResult, strResults, rL, iniLoaded
Set iFile = Fs.OpenTextFile(iniFile,1) 'iniファイルを読み取りモードで開く
WScript.Sleep 150
Do Until iFile.AtEndOfStream '読み込み
rL = iFile.ReadLine
lResult = lResult & "**" & rL & "**"
Loop
WScript.Sleep 150
iFile.Close 'Iniファイルを閉じる
strResults = Replace(Replace(lResult,"****","*"),"**","")
If Control = 0 Then
inArrays strResults, "*" & lSplitter, iniLoader
Else
iniLoader = Replace(strResults,"*",lSplitter)
End If
End If
End Function

'------------------------------------
'inArrays - 多次元配列構築
'- Created by LazwardFox -

'配列 及び 文字列から、区切り文字を指定して多重配列を作成し返す。

' Update 20090228 1248 strLimitters指定に、区切り文字 ~(チルダ)不要に。
' Update 20090228 0833 配列のほか、文字列もソースに適用可能に。
' Update 20090223 0917

'inArrays(
' tSources - 区切り文字を含む文字列 ないし、それらで構成された配列
' ,strLimitters - 区切り文字を順番に並べた文字列を指定
' ,arReturn - 戻り値が代入されます。
' )

Function inArrays(tSources, strLimitters, arReturn)
Dim arSources, arLimitters, iLimitter, arInArrays, iSource, Pc
arSources = tSources
lArray strLimitters, arLimitters '< Update 20090228 1248
For Each iLimitter In arLimitters
If VarType(arSources) = 8 Then
arInArrays = Split(arSources,iLimitter)
Else
Pc = 0
ReDim arInArrays(0)
For Each iSource in arSources
ReDim Preserve arInArrays(Pc)
arInArrays(Pc) = Split(iSource,iLimitter)
Pc = Pc + 1
Next
End If
arSources = arInArrays
arInArrays = Null
Next
arReturn = arSources
End Function

'------------------------------------
'文字列を1文字ずつバラし、配列として返す
'- Created by LazwardFox -

' Release 20090228 1246

' lArray(
' strLetters - 分解したい文字列
' ,rArray - 戻り値が代入されます。任意の変数名を指定
' )

Function lArray(strLetters, rArray)
Dim Pc, rLetters()
Set objADO = CreateObject("ADODB.Stream")
With objADO
.Type = 2
.Open
.WriteText strLetters
Pc = 0
.Position = 0
Do Until .EOS
ReDim Preserve rLetters(Pc)
rLetters(Pc) = .ReadText(1)
Pc = Pc + 1
Loop
End With
rArray = rLetters
objADO.Close
Set objADO = Nothing
End Function


ウチの鯖タンでは、
[HKEY_USERS\.DEFAULT] や [HKEY_CURRENT_USER] 他の
[Software\Microsoft\Windows\CurrentVersion\Run] の中身を全部移行して利用している。

コイツを使って、最速起動に繋がるBoot時のスタートアップパターンとか、見つけてみるのも一興かとw

・・・ただ、タスクマネージャだけはヤメといたほうがイイよ、最小化指定で起動すると、
起動自体は出来るケド、ウインドウとして開かなくなるからww

PowerBar(のて機やUPS接続機以外では不要)は、ココには"身"の記述無かったので、触れていない。
Dr.ワトソンも、敢えて触れずにおいている。(存在忘れてたってのが正しいが・・・)
<そのまま使えるVBscript 鯖管理 起動順序 グループポリシー スタートアップ ログオン ログオフ シャットダウン>

やってもうた・・・


プロバイダ切り替えを半ば諦め、解約を保留していたGyaOに戻したまではよかったが、
うっかり、フレッツ光のCTUの設定をそのままにしてしまい、ファイアウォール周りが、
Interlink向けのままで、鯖が外部から繋がらない状態に(゚Д゚;)

宅内からでは、ケータイ使ってテストするくらいしか、
鯖内Webベースでの外部接続テストができない状態なので、すっかり忘れてた(´ヘ`;)

訂正を施し、今、ようやく接続を確認できて ひと安心w
もう、
   おきつねさまのひまつぶし http://www.okitsunesama.com    
で、問題なく繋がる・・・

・・・で、何故にプロバイダを戻したのか? 別段Interlinkの品質に不満は無かった。
が、料金を比較する上で、肝心なコトをすっかり忘れていた。

まず、このイナカでの USEN GyaO光 の場合、with Flets なので、
NTTのをすべて込みでの金額が、
サービス単価数量購入金額ご利用期間
ホームタイプ ISP月額基本料 1,16211,1621月 1日~ 1月31日 
光屋内配線使用料 2001月 1日~ 1月31日 
フレッツ・光プレミアム F利用料 3,0001月 1日~ 1月31日 
消費税218
合  計4,580
となっている。
要は、比較の考え方自体が間違っていたワケだ・・・

ここいらヘン、関東に居た時は、GyaOのマンションタイプで、
USEN側とは直接接続だったので、回線も同社(実際はダークファイバのUSEN借り上げ)だったし、
コチラでも、同社をプロバイダとして選択し、with Flets というカタチでの利用だったので、
料金においても、NTT回線介在でのネットワーク利用と云う感覚は無くなっていた・・・

とは云え過去には、インターネットって NTTの回線+プロバイダの接続サービス ってのしか
選択肢ナイ時代があったんだよね~ あまりに昔のことなので、ホンキで忘却してた・・・ ^_^;

ツマるトコ、Interlinkの場合、あの料金に、NTTの回線分が別途上乗せされるワケで、
切り替えるほどの低価格にはなり得ない・・・むしろ、NTT側の割引がない分、割高になる・・・
で、已む無く、お試し期間中だったInterlinkを断ったと・・・

ただ、USEN GyaOも、NTTの割引期間が切れるまでに、
この地域では光接続最安値の BBIQ へ切り替えるコトも検討している。

アソコも最近は、"鯖キンシ"なんつ~ボケたコト云わなくなったらしいし、
PPPoEギライの当方だが、結局NTTも同じ処理だし、だったらBBIQ選択しないテはナイよな・・・

関東圏でUSEN選択したのは、むしろ価格よりも、光LANをそのまま敷設し、
キホンでIPを8個割り振られるってコトに魅力を感じたコトが要因として大きかった。
(その割には安かったのだが^_^;)
で 以前、USENに問い合わせたみたのだが、どうやらもう、イナカでは自社回線の増設はヤル気ナイらしい・・・
光接続を全国の家庭に ってフレ込みで立ち上がった事業だったような気がしたのだが・・・
志が微妙になってしまっている現状、USENもオワタか?

2009/02/14

プロバイダ乗り換える・・・


ついさっきまでは、USEN GyaO with フレッツ光 (NTT西) を 使っていた。

今は、INTERLINKZOOT ・・・ココは随分昔、ADSL時代に利用していたコトがあったのだが、
すっかり存在忘れてたww

直前まで利用していたUSEN GyaOは、基本 鯖立×と云うのも知っていたが、関東在住の折、
旧BroadGate01時代に マンションLANタイプで鯖利用していて、回線品質の高さなどを知っていたのもあり、
盲目的に選択してしまった。しかし、OSの関係で充実を謳うコンテンツも全く閲覧も出来ないし、
直接接続だった関東圏のサービスと違いNTT介在、IPも1つしか割り当てられない上 非固定、
4K円以上の月額も年間では大きいし、その割りに大して利点がないので切るコトにした。

プロバイダのスタンスとして、鯖立×と云う時点でも充分考えモノ。
どローカルのプロバイダ(BBIQJCOM)も、御同様かソレよりタチが悪かったので却下した経緯がある。
そもそも、用途によって明確だったワケだ、コンシューマ向けプロバイダは、高度運用には全く向かないと・・・

ソレを踏まえ、低価格のプロバイダを探すにあたり、INTERLINKを思い出し、サービスをサイトで確認してみる・・・
相変わらずの機能充実・・・ しかも以前より拡張されてるし・・・ しかも月額 GyaOの半額以下・・・ 驚くしかない。
フレッツ同時導入ならキャッシュバックは他のプロバイダと同様で、契約期間の縛りもない。
初期費用もなしで、2ヶ月全機能試用可で、その間の解約違約金もナシ、機能充実で、月額半額・・・
去年、ココを思い出していたら、キャッシュバックがあったとはいえ、USENと云うチョイスはしなかったと思う・・・
結局、思い込みと、価格比較サイトに振り回されたと云うコトだろう。

INTERLINKのサービスを一通り確認し終えて、早速、
月額2100円の固定IP1つのサービスに加入し、2ヶ月間の試用に入った。
週明けまでに動作確認を行い、問題が無いようなら、このままココに決めることになるだろう。
・・・固定IPなんだし、DynamicDNSである必要性はない。 折角だから、ドメインも確保しようかな・・・

2009/01/20

FRAMEを使いたくて・・・


・・・IEや北欧系ブラウザは無視するコトに(主に後者)
つか、XHTML1.1記述をあきらめたと云うのが正しいのかもしれないΣ(・ε・;)

是非ともフレームは使いたかったからだ。
ソコに “誰でも閲覧可能にする” などという善意は(そもそも)無いΨ(`∀´)Ψ

取り敢えず、XHTML1.0Framesetを利用して、自鯖から、ココを閲覧を可能にしてみた。

ローカルなら、Faviconも好きなモノを使いやすい。
Blogger他多くのブログ鯖のように、主役のコンテンツより、
脇役であるべきblog鯖が前面に出てるのと変わらないような管理しか出来ないのは、非常に使いづらい。

http://www.okitsunesama.com

鯖運用テストなので、時々再起動で落とすが、閲覧者も少ないのでw 問題ないだろう。

ココ(Blogger)の機能が、微妙に使えないまま、中々改善されない事に業を煮やしたとも云える。
レンタル鯖だと画像のうpとかも面倒くさいしねぇ(´ヘ`;)

鯖の機材構成変更とそれに伴うreインスコが完了したら、
記事を移行して、ココを閉鎖する予定だ。