イメージ
 Kindle Paperwhiteが故障 2023年の3月購入なので、1年の保証期間はとっくに過ぎている。 状況は、画面右端が充電後に表示欠けを起こすようになった。 最初は1cm程度だったのに、いまでは2cm程度表示できず、右端の文字が読めない状況に…。 さて、修理可能なのか不明なので、Amazonに問い合わせすることに…。 チャットで問い合わせを選択すると、すぐに担当者につながった。 日本人の名前ではなかったけれど、とても丁寧な対応でしっかり教育されている感じ。 結果的には、 ・修理対応は行っていない。 ・買い替えるしか手段はない。 しかも、同一機種はすでに無く、後継機種(画面が7インチにUp)しか選択できない。 さて、どうしようかとチャットしながら考えていたら、先方から提案が…。  再度、Kindle端末を購入されるのであれば、15%OFFのギフトを送る(登録)ってくれる。  ご検討くださいとのことだった…。 なるほど…。  いま Kindle端末 を見ると22,980円か〜。さらに15%OFFとなると、19,533円 迷うなぁ…。もうタブレットを使用しちゃおうかとも考えていたので…。 ギフトの期限は無いそうなので、しばらく悩んでみますゎ。

現場で書き換え…

ログインスクリプトでエラー

前回、マイクロソフトのサンプルに問題があって、修正が必要と書いたのだけれど、現場でテストしてみると、さらにエラーが発生する。


strGroups = LCase(Join(CurrentUser.MemberOf))

今度は、この記述だ・・・。
どうやら、ユーザのデータを引いた時のOUやグループの設定状況でデータ個数が配列で返らない場合に、うまくjoinできていないらしい。
そこで、

'strGroups = LCase(Join(CurrentUser.MemberOf))
if IsArray(CurrentUser.MemberOf) then
   strGroups = LCase(join(CurrentUser.MemberOf))
else
   strGroups = LCase(CurrentUser.MemberOf)
End if
てな感じで、配列かどうかで処理を分ける必要があるということが判明。
その場で、書き換えてテストしなければならない程の、逼迫ぶりで…。疲れましたゎ。

でも、これで何とか動作するようになり、OKです。
念の為、全て記述しておこう。
Const MANAGER_GROUP = "cn=manager"
Const SUPPORT_GROUP = "cn=support"
'Const STAFF_GROUP   = "cn=staff"
Set wshNetwork = CreateObject("WScript.Network")
'homeはプロファイル設定で掴ませることにするのでコメントアウト
'wshNetwork.MapNetworkDrive "i:" , "\\dc01\home$\" & wshNetwork.UserName
wshNetwork.MapNetworkDrive "s:" , "\\dc01\staff"
Set ADSysInfo = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
'strGroups = LCase(Join(CurrentUser.MemberOf))
if IsArray(CurrentUser.MemberOf) then
   strGroups = LCase(join(CurrentUser.MemberOf))
else
   strGroups = LCase(CurrentUser.MemberOf)
End if
If InStr(strGroups, MANAGER_GROUP) Then
    wshNetwork.MapNetworkDrive "m:" , "\\dc01\manager"
'    wshNetwork.MapNetworkDrive "n:" , "\\dc01\support"
End If
If InStr(strGroups, SUPPORT_GROUP) Then
    wshNetwork.MapNetworkDrive "n:","\\dc01\support"
       
End If

度重なる仕様変更

ちなみに、先のスクリプトは、前回とは後半部分が異なっている。
これは、作業途中で現場から、このドライブは共有して欲しくないとか…。
この場で、言うかよ〜! って話です。

まあ、今回導入したところは、基本的にネットワークのちゃんとした利用の仕方を知らないままなんとなく使ってきたという所もあり、いろいろな話をする中で、だったら…こうして欲しい。とか、こんな風に使えれば…みたいな話が出てくるので、利用している人たちの感性はまともと言えるかな。
結局、これまで管理していた人が、そういった情報を吸い上げず、こちらから提供しないことからうまく回っていなかったのかなぁと…。

そんなことを思いながらも、依頼主に確認をし、ドライブマッピングとユーザの関係を変更することに。導入作業前にも確認しているんだけどね〜。

ついでにバッチも実行

ログオンスクリプトには、もう1つ加えておくことにした。
もちろん、サーバは時刻合わせを行なっているんだけど、クライアントがずれてもらっては困る。といってデフォルトの時刻合わせは馬鹿すぎる。

そこで、nettime.batを作成。中身は簡単なもんです。以下の通り。
net time /domain:%userdnsdomain% /set /y
全クライアントが、ログイン時に実行するように設定しておきます。
これで、サーバとの同期は完了するので、困ることはございません。

いろいろと、検討したけどなるべくシンプルに運用したいので、この程度でやめておこうと思っています。

ふう、ドキュメントの作成もあるので、時間取られてなかなかBlogの更新ができませんなぁ
ちうことで、もう少し、今回手間取ったところあたりをまとめておきたいと思います。




コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

WPS Officeで日本語入力ができない

MEGAにも弱点があった?