気まぐれSE日記

地方でエンジニアしてます

Windows7でログオンスクリプトが不安定

あまり検証していなかったというか、検証環境が社内にないのが問題なのですが.......
表題の通りちょっとした問題が起こっています。

LinuxのSamba 3.5.xサーバでPDCを建てて、クライアントPCはWindows7ドメインログオンさせ、そのときにログオンスクリプトを実行させてSamba上の共有フォルダをドライブにマップするようにSambaで設定。そして、Windows7にユーザがログオンするとマッピングされるべきドライブが無いという状態と普通にマッピングされるという状態が発生して「なんで?」っていう不思議な状態になっています。


このほかのメモ

  • ドライブマップされない状態からWin7PCを再起動するとマップが回復するときがある→つまり、ログオンスクリプトが正常に動作するときとしないときがある
  • ドライブは5ドライブほどマッピングしているが、すべてのドライブがマップされないのではなく、1〜2ドライブがマップされてない。しかもマップされないドライブは不定
  • この症状が発生するのは、Windows7だけで、他のVistaやXPでは発生しない
  • ドライブマップ用のスクリプトファイルをデスクトップ等に持ってきて手動実行すると正常にマウントされる

↓調べたところでは、「UAC」が原因ぽいのですが、全くマッピングされないと言う症状ではないので原因は???です。
http://int.social.technet.microsoft.com/Forums/ja-JP/activedirectoryja/thread/37a28d0d-8dbb-4217-976d-b644b7548090


追記:
続報ですが、既にUACは切っているそうなので上記の件は関係ないですね。となると何が問題なのか?。症状が起きたり起きなかったりなのでスクリプトの書き方がおかしいとか言うレベルではないしねえ。お手上げ状態。


追記2:
ログオンスクリプトの中でクサイのは net use コマンドの /PERSISTENT [yes|no] オプションのあたり?かなあ。


追記3:
スクリプトがマズイらしい


修正前

net use S: /DELETE
net use T: /DELETE
net use P: /DELETE
net use S: \\sambaサーバ\%USERNAME%
net use T: \\sambaサーバ\test
net use P: \\sambaサーバ\photo


修正後

net use S: \\sambaサーバ\%USERNAME%
net use T: \\sambaサーバ\test
net use P: \\sambaサーバ\photo

一旦/DELETEでマッピングを消しているからそりゃ消えるのはわかるんだけど、その後でマッピングするのがWin7で効かない模様。修正前のスクリプトはXP/Vistaで動作していたんですけどねえ....このまま、再ログオンすると「システムエラー 85」とエラーになるし..。オプションの /PERSISTENTも試してみるかね。