トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Windowsメモ

一部の情報は非常に古いもの(20年以上前〜)ですので、利用する際はご注意ください(Java 1.4 とか .NET 1.0 とか、Windows 2000 とか)
お問い合せは wiki@shise.net まで。Gmail に転送されるので、スパムは全部カットされます。


 


Flash old versions

http://kb2.adobe.com/cps/142/tn_14266.html

Adobe Reader old versions

ftp://ftp.adobe.com/pub/adobe/reader/win/


ドメイン自動ログオン


http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2003ja/thread/697b6330-f225-4e8c-88af-76b760826205/

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"
"DefaultDomainName"="Domain"
"DefaultUserName"="Administrator"
"DefaultPassword"="password"


電源関係のコマンド操作


電源オフ

shutdown.exe -s -t 0

強制電源オフ

shutdown.exe -s -f -t 0

再起動

shutdown.exe -r -t 0

強制再起動

shutdown.exe -r -f -t 0

スタンバイ(休止状態を有効に設定している場合は、休止状態になる)

rundll32.exe PowrProf.dll,SetSuspendState

ログオフ

logoff.exe

切断(ターミナルサービス・リモートデスクトップ)

tsdiscon.exe

画面ロック

rundll32.exe user32.dll,LockWorkStation

サービスの説明を変更する。

以下のようなコマンドで、サービスの説明を好きなように変えられる。

sc description "サービス名" "サービスの説明"

sc コマンドは、XP、2003、Vista で確認。
2000 とか 2008 とかは、知らんw


explorer の裏技?w

ファイルを選択して開く

explorer /n,/select,"C:\data\test.txt"

マイコンピュータを選択して開く

explorer /n,/SELECT, ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

デスクトップ上のファイルを選択して開く(Tools フォルダを選択)

explorer /n,/SELECT, ::{20D04FE0-3AEA-1069-A2D8-08002B30309D},Tools

/n は、新しいウィンドウで開く。
/select の後にファイルのパスを入れると、選択してエクスプローラを開く。

なんかに使えそうw



Windows XP の Explorer.exe コマンドライン オプション

IE7 の右上の検索ボックスを非表示にしたい

Internet Explorer 7 をインストールした。
右上に検索ボックスが表示されているが、Google ツールバーが入っているので、検索ボックスは2つもいらない。
つーか、気持ち的に邪魔なので、消したい。

設定メニューを一通り見たつもりだが、見つけられなかった。
調べたら出てきたのでメモ。


レジストリで、

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Infodelivery\Restrictions]
"NoSearchBox"=dword:00000001

と、設定する。
CURRENT USER って事は、ユーザーごとの設定って事か。

chm が表示できない。

ネットワーク上にある chm は表示できない。
レジストリを変更すると表示できるようになる。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000004

ていう感じで設定すると、あらゆる所の chm が表示可能になる。
だけど、セキュリティ的に危ないかも。
上記設定のレジストリファイルはこちら

詳しくはここ↓
http://www.atmarkit.co.jp/fwin2k/win2ktips/636itshelp/itshelp.html

IPアドレス、デフォルトゲートウェイ、DNSなどのネットワークの設定を変更するコマンド(編集中)


netsh というコマンドを使ってネットワークの設定を変更する事が出来る。

 ファイルに保存したり、読み出したりする場合


今の設定を保存

netsh interface ip dump > setting.txt

過去に保存したものを適用

netsh exec setting.txt

 コマンドラインで変更する場合


2000 と XP とでは、若干互換性が無いが、変更を加える事で互換性を保つ事が出来る。
というか、2000の設定をXPで使っても問題ないが、その逆の XP の設定を 2000 で使う事は出来ない。

下記の例は、2000、XP、どちらでも使えるもの。

xp & 2k
static ip

netsh interface ip set address name="ローカル エリア接続" source=static addr=192.168.10.83 mask=255.255.255.0
netsh interface ip set address name="ローカル エリア接続" gateway=192.168.10.254 gwmetric=1
netsh interface ip set dns name="ローカル エリア接続" source=static addr=192.168.2.31
netsh interface ip add dns name="ローカル エリア接続" addr=192.168.2.10 index=2
netsh interface ip set wins name="ローカル エリア接続" source=static addr=none

XPでは、gwmetric が 0 で、2K では 1 。
2K で gwmetric を 0 に設定するとエラーが発生する。
XPでは、1 に設定してもエラーにはならないため、1 で統一。

XPでは、register=PRIMARY という表記がよく出てくるが、2K では無効なコマンドとしてエラーになってしまう。
XPでは、削除しても正常に設定されているため、register=PRIMARY は削除で統一


全部dhcp

netsh interface ip set address name="ローカル エリア接続" source=dhcp
netsh interface ip set dns name="ローカル エリア接続" source=dhcp
netsh interface ip set wins name="ローカル エリア接続" source=dhcp

Zone.Identifier

http://www.atmarkit.co.jp/fwin2k/win2ktips/498zoneid/zoneid.html

CAB、ZIPファイルの中身を検索したくない

以下のコマンドを実行する。

検索しないようにする。

regsvr32 /u zipfldr.dll
regsvr32 /u cabview.dll

検索するようにする。

regsvr32 zipfldr.dll
regsvr32 cabview.dll

検索しないようにすると、Windows XP 標準の ZIPファイルディレクトリ?みたいな機能が無効になるらしい。

画面をロックするコマンド

ショートカットの作成で、パスを以下のようにする

rundll32.exe user32.dll,LockWorkStation

作成されたショートカットを起動すると、画面ロックされる。
Win+L と同じ動作。


batファイル内で、スリープ


バッチファイルでは、デフォルトではスリープ的な事が出来ない。
そこで考えたのが、コレ。

バッチファイルで10秒スリープ

ping -n 10 localhost > nul

自分自身に対して、ping を 10 回打ち続ける。(11回がいいのかな?)
ネットワークの負荷は無いに等しい。たぶん。

『 nul 』 は、Linux でいう『 /dev/null 』の Windows 版。
このコマンドを入力しても、nul というファイルは作成されません。
ping コマンドの出力内容は、破棄されます。



新規ユーザのプロファイルをカスタマイズ


Default User のプロファイルのカスタマイズ方法を探してたら見つけた。


カスタマイズしたデフォルトのユーザー プロファイルを作成する方法
http://support.microsoft.com/default.aspx/kb/319974/ja


要約すると、

  1. 新規ユーザを作る
  2. 作ったユーザでログイン
  3. カスタマイズ
  4. Admin でログイン
  5. マイコンピュータ→プロパティ→詳細設定→ユーザプロファイル 設定
  6. さっきカスタマイズしたユーザプロファイルを選択して、コピー先をクリック
  7. 参照で、C:\Documents and Settings\Default User\ を選択
  8. 使用許可に Everyone を指定

完了です。


次から新しく作られたプロファイルは、今回カスタマイズしたプロファイルを元に作られる。
当たり前だけど、既存のプロファイルには影響は無い。
 


ただし、一部分かっている仕様として、

カスタマイズ時に、ユーザに対してインポートした証明書とが、引き継がれていない。
ほかにも、引き継がれてない情報があるかも。 詳しくは未調査。

証明機関は、コンピュータに対してインポートすればいいかも。


Windows XP のリモートデスクトップに複数のユーザで接続する


ttp://www.kood.org/terminal-server-patch/
このサイトで配られてるパッチと、下記のレジストリ操作で、
Windows XP Pro のリモートデスクトップが、複数のユーザで利用できるようになる。
何セッションまでいけるかは知らない。


XP SP2 なら、Termiserv_XPSP2_i386_1.0.exe
XP SP3 なら、Termiserv_XPSP2-SP3_i386_2.1.exe
という感じ?



インストール後、Windows XP の CD を入れてくれ、って出ますが、
そのままキャンセルしないといけません。

 レジストリ

次のレジストリを Unicode で「multits.reg」みたいな感じで保存して実行

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ControlTerminal Server\Licensing Core]
"EnableConcurrentSessions"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AllowMultipleTSSessions"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"MaxInstanceCount"=dword:000003e7
"fNoRemoteDesktopWallpaper"=dword:00000000
"fSingleSessionPerUser"=dword:00000001
"fDenyTSConnections"=dword:00000000

これを実行しないと使えない。


ルーティングのアレ

 windows

    route -p ADD 192.168.130.0 MASK 255.255.255.0 192.168.3.90

 linux

    vi /etc/rc.d/rc.local 
    ifconfig eth0:1 192.168.130.1 netmask 255.255.255.0

    iptables -t nat -A POSTROUTING -o eth0 -s -j MASQUERADE
    iptables -t nat -A POSTROUTING -o eth1 -s -j MASQUERADE

    iptables -A INPUT -i eth0 -j ACCEPT
    iptables -A INPUT -i eth1 -j ACCEPT
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
    iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited

    vi /etc/sysctl.conf
    net.ipv4.ip_forward = 1

IP が取れるまで、NIC デバイスの有効/無効を切り替え続けるバッチ


なぜか俺の PC は調子が悪く(ドライバが悪く?)
一発で IP が取れないようなので、スタートアップに以下のような bat ファイルをおいた。

192.168.1.2 が自分の PC が取れるべき IP として、Ping を打ち
エラーレベルが0でなければデバイスを無効にして、そのあと有効にする。
また Ping を打つ。を繰り返す。

devcon は、デバイスマネージャのコマンドライン版。
http://support.microsoft.com/kb/311272/ja
ここから落とせる。

@echo off

ping -n 6 localhost > nul
goto check

:check
echo IP Check..
ping -n 1 192.168.1.2
if "%ERRORLEVEL%" == "0" (goto end) else (goto restart)

:restart
echo Restart Device
devcon disable "PCI\VEN_8086&DEV_10C0&SUBSYS_02381028&REV_02"
ping -n 4 localhost > nul
devcon enable "PCI\VEN_8086&DEV_10C0&SUBSYS_02381028&REV_02"
ping -n 11 localhost > nul
goto check

:end
echo End

batファイルで日付フォーマットを指定する?


set DATETIME=%date:~-10,4%-%date:~-5,2%-%date:~-2,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
echo %DATETIME%

2010-03-05_12-28-45

注意すべき点としては、これは日本語環境においてのみ有効
%date% の内容が、日本語環境では

2010/03/05

となるが、英語環境では

Fri 03/05/2010

とフォーマットが異なるため、英語環境でこの集団は使えないので、英語環境で使う場合は要注意。
日本語環境だけで使うならバッチリ。