つぶねこ

@もじらもーど。
↑recent | ↓old | 20 index | 100 index | 300 index | 記事5件 | 記事10件 | 記事20件 |最新5件 |FAQ | カテゴリ一覧 | Index |
2010/10/8 14:46
さいきんのNTユーザのダイヤルインの静的IPアドレスを割り当てる おまけ

 せっかくにゃのでbatで書いてみたデモ。
 ADのユーザのプロパティで、ダイヤルインの静的IPアドレスを割り当てを設定
@echo off

rem (add) %0 "CN=user1,OU=ou1,OU=ou2,DC=dom,DC=local" 123.123.123.123
rem (mod) %0 "CN=user1,OU=ou1,OU=ou2,DC=dom,DC=local" 123.123.123.123
rem (del) %0 "CN=user1,OU=ou1,OU=ou2,DC=dom,DC=local"

set dn="%~1"
set ip=%~2

if %dn%=="" (@echo ERR1 : %0 %* & pause & exit)

call :chk_dn %dn%
@echo dn ok

if "%ip%"=="" call :mode_del
if not "%ip%"=="" call :mode_edit
goto :EOF


:mode_del
call :attr_del %dn% "msRADIUSFramedIPAddress"
call :attr_del %dn% "msRASSavedFramedIPAddress"
exit /b

:mode_edit
setlocal
call :ip2dec ip_dec %ip%
echo %ip% = %ip_dec%
call :attr_edit %dn% "msRADIUSFramedIPAddress" "%ip_dec%"
call :attr_edit %dn% "msRASSavedFramedIPAddress" "%ip_dec%"
endlocal
exit /b

:chk_dn
ldifde -u -d %1 -r "(objectClass=user)" -f out.tmp || goto :chk_err %*
ldifde -u -d %1 -r "(objectClass=user)" -f out.tmp | find "1個のエントリがエクスポートされました" >NUL || goto :chk_err %*
type out.tmp | find %dn% >NUL || goto :chk_err %*
del out.tmp
exit /b
:chk_err
echo ERR2 %0 %*
pause
exit


:attr_edit
setlocal
set dn="%~1"
set attr="%~2"
set var="%~3"
call :is_exist_attr flag %dn% %attr%
if "%flag%"=="0" call :create_import_file_add %dn% %attr% %var% > tmp.txt
if "%flag%"=="1" call :create_import_file_modify %dn% %attr% %var% > tmp.txt
type tmp.txt || pause
call conv.cmd sjis2unicode tmp.txt tmp_u.txt
del tmp.txt
ldifde -u -i -f tmp_u.txt || (@echo ERR3 %0 %* & pause)
del tmp_u.txt
endlocal
exit /b

:attr_del
setlocal
set dn="%~1"
set attr="%~2"
call :is_exist_attr flag %dn% %attr%
if "%flag%"=="0" exit /b
if "%flag%"=="1" call :create_import_file_delete %dn% %attr% > tmp.txt
type tmp.txt || pause
call conv.cmd sjis2unicode tmp.txt tmp_u.txt
del tmp.txt
ldifde -u -i -f tmp_u.txt || (@echo ERR4 %0 %* & pause)
del tmp_u.txt
endlocal
exit /b

:create_import_file_add
@echo off
if "%~3"=="" (@echo ERR5 %0 %* & pause)
echo.|set /p x=dn: %~1
echo.
echo.|set /p x=changetype: modify
echo.
echo.|set /p x=add: %~2
echo.
echo.|set /p x=%~2: %~3
echo.
echo.|set /p x=-
echo.
exit /b


:create_import_file_modify
@echo off
if "%~3"=="" (@echo ERR6 %0 %* & pause)
echo.|set /p x=dn: %~1
echo.
echo.|set /p x=changetype: modify
echo.
echo.|set /p x=replace: %~2
echo.
echo.|set /p x=%~2: %~3
echo.
echo.|set /p x=-
echo.
exit /b

:create_import_file_delete
@echo off
if "%~2"=="" (@echo ERR7 %0 %* & pause)
echo.|set /p x=dn: %~1
echo.
echo.|set /p x=changetype: modify
echo.
echo.|set /p x=delete: %~2
echo.
echo.|set /p x=-
echo.
exit /b

:is_exist_attr
setlocal
set res=0
set dn=%2
set attr=%3
ldifde -u -d %dn% -l %attr% -f out.tmp >NUL
type out.tmp | find %attr% >NUL && set res=1
del out.tmp
endlocal & set %1=%res%
exit /b

:hex2dec
rem call :hex2dec var ffffffff
echo.|set /p x=Wscript.Echo ^^^&H%~2>tmp.vbs
echo.>>tmp.vbs
for /f "usebackq delims=" %%a in (`cscript //nologo tmp.vbs`) do set %1=%%a
del tmp.vbs
exit /b

:dec2hex
rem call :dec2hex var 123456
echo.|set /p x=Wscript.Echo Hex(%~2)>tmp.vbs
echo.>>tmp.vbs
for /f "usebackq delims=" %%a in (`cscript //nologo tmp.vbs`) do set %1=%%a
del tmp.vbs
exit /b

:format_dec
rem call :%0 var 4 99 -> var=0099
setlocal
set x=00000000000000000000000000000000000000000000000000%3
rem call echo %%x:~-^%2%%
call set ans=%%x:~-^%2%%
endlocal & set %1=%ans%
exit /b

:split_ip4
rem call %0 var1 var2 var3 var4 123.123.123.123
for /f "tokens=1,2,3,4 delims=." %%a in ("%~5") do set %1=%%a & set
%2=%%b & set %3=%%c & set %4=%%d
exit /b

:ip2dec
setlocal
rem call %0 var 10.1.0.255
set ip=%~2
call :split_ip4 var1 var2 var3 var4 %ip%
rem echo %var1% %var2% %var3% %var4%
call :dec2hex hvar1 %var1%
call :dec2hex hvar2 %var2%
call :dec2hex hvar3 %var3%
call :dec2hex hvar4 %var4%
rem echo %hvar1% %hvar2% %hvar3% %hvar4%
call :format_dec hvar1 2 %hvar1%
call :format_dec hvar2 2 %hvar2%
call :format_dec hvar3 2 %hvar3%
call :format_dec hvar4 2 %hvar4%
rem echo %hvar1% %hvar2% %hvar3% %hvar4%
call :hex2dec var %hvar1%%hvar2%%hvar3%%hvar4%
rem echo %var%
endlocal & set %1=%var%
exit /b
 setlocal的にゃ部分とかエラーチェックはいい加減にゃので、十分テストしておかにゃいとADのデータ全滅とかにゃり得る所が怖いね
 ipを4つ区切りで指定するとdwordにゃintにして書き込みみたいにゃことをしてるけど、かにゃり反則気味。
 あと今回は関係にゃいんだけど日本語関連でunicodeで出し入れしたほうがいいので、unicode変換とか呼んでます。
 
 で、ここまでしといて何だけど、vbsでGetObject("LDAP://〜〜)したほうが楽だねこれは(笑)

2010/10/8 9:17
さいきんの散財日記 コミック 暴れん坊少納言 7

 もうすっかり史実がどうとかわからにゃくにゃった

2010/10/7 14:38
さいきんのNTユーザのダイヤルインの静的IPアドレスを割り当てる

 Win鯖でPPTPにゃVPN鯖とか立ててると、接続してきたユーザには設定したIPプールからランダムにIPがわりあてられるので、特定のユーザを特定のIPでVPN接続させることが出来にゃい。
 が、ADのユーザのプロパティで、ダイヤルインの静的IPアドレスを割り当てを設定すれば、優先的にこのIPを使って接続される。細かい挙動は設定出来にゃいが、とりあえず無いよりはかにゃり有用に使える。
 で、このプロパティを一括で登録しようと思うと、安易にゃツールでは設定オプションが無かったりしてがっかりにゃことに。
 VPNの接続許可のとこもだけど、どうせADに登録されてる情報でしかにゃいんだから、全部設定出来るようにしとけよにゃー。netsh ras set user〜〜とかいちいち別のツール持ってくる必要があってめんどくさい。
 
 んで、もちろん無いことはにゃいわけで、ldifdeで全般的に設定出来る。csvでできるcsvdeってのもある。オールマイティにゃものが有るにゃら、もう最初からこれだけにしとけよって感じのいつものMSの無計画ノーデザインである。
 
 で、大雑把には
 特定ユーザのexport
ldifde -u -d "CN=user01,OU=ou1,OU=ou2,DC=neko,DC=local" -f out.txt
 このままimportするとユーザの追加ににゃる
属性の変更
dn: CN=user01,OU=ou1,OU=ou2,DC=neko,DC=local
changetype: modify
replace: test
test: xxx
-

属性の追加
dn: CN=user01,OU=ou1,OU=ou2,DC=neko,DC=local
changetype: modify
add: test
test: xxx
-

属性の削除
dn: CN=user01,OU=ou1,OU=ou2,DC=neko,DC=local
changetype: modify
delete: test
-
 とこんにゃ感じ
 addで同じ属性を複数追加できちゃうので、無ければ追加とか有れば変更とかは事前に場合分けする必要がある。
 ま、とりあえず設定がtextで出し入れ出来るようににゃれば、あとはどうとでもにゃるよね、というわけで。

2010/10/7 1:06
さいきんの散財日記 小説 ストライクウィッチーズ 乙女の巻 1

 巴とかオリジナル数話が良い。

▼ ストライクウィッチーズ 関連記事
▼ ストライクウィッチーズ 関連記事     一覧メニュー    (全75件表示)
連盟空軍航空魔法音楽隊ルミナスウィッチーズ 10 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 09 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 08 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 07 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 06 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 05 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 04 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 03 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 02 / 連盟空軍航空魔法音楽隊ルミナスウィッチーズ 01 / ストライクウィッチーズ ROAD to BERLIN 12 / ストライクウィッチーズ ROAD to BERLIN 11 / ストライクウィッチーズ ROAD to BERLIN 10 / ストライクウィッチーズ ROAD to BERLIN 09 / ストライクウィッチーズ ROAD to BERLIN 08 / ストライクウィッチーズ ROAD to BERLIN 07 / ストライクウィッチーズ ROAD to BERLIN 06 / ストライクウィッチーズ ROAD to BERLIN 05 / ストライクウィッチーズ ROAD to BERLIN 04 / ストライクウィッチーズ ROAD to BERLIN 03 / ストライクウィッチーズ ROAD to BERLIN 02 / ストライクウィッチーズ ROAD to BERLIN 01 / ストライクウィッチーズ 501部隊発進しますっ 10 / ストライクウィッチーズ 501部隊発進しますっ 09 / ストライクウィッチーズ 501部隊発進しますっ 08 / ストライクウィッチーズ 501部隊発進しますっ 07 / ストライクウィッチーズ 501部隊発進しますっ 06 / ストライクウィッチーズ 501部隊発進しますっ 05 / ストライクウィッチーズ 501部隊発進しますっ 04 / ストライクウィッチーズ 501部隊発進しますっ 03 / ストライクウィッチーズ 501部隊発進しますっ 02 / ストライクウィッチーズ 501部隊発進しますっ 01 / ブレイブウィッチーズ 11 / ブレイブウィッチーズ 10 / ブレイブウィッチーズ 09 / ブレイブウィッチーズ 08 / ブレイブウィッチーズ 07 / ブレイブウィッチーズ 06 / ブレイブウィッチーズ 05 / ブレイブウィッチーズ 04 / ブレイブウィッチーズ 03 / ブレイブウィッチーズ 02 / ブレイブウィッチーズ 01 / ストライクウィッチーズ Operation Victory Arrow 3 / ストライクウィッチーズ Operation Victory Arrow 2 / ストライクウィッチーズ Operation Victory Arrow 1 / ストライクウィッチーズ 劇場版 / 散財日記 小説 ストライクウィッチーズ 乙女の巻 3 / 散財日記 小説 ストライクウィッチーズ 乙女の巻 2 / 散財日記 小説 ストライクウィッチーズ 乙女の巻 1 / ストライクウィッチーズ2 12 / ストライクウィッチーズ2 11 / ストライクウィッチーズ2 10 / ストライクウィッチーズ2 09 / ストライクウィッチーズ2 08 / ストライクウィッチーズ2 07 / 45日間奈良時代一周 東大寺1 / ストライクウィッチーズ2 06 / ストライクウィッチーズ2 05 / ストライクウィッチーズ2 04 / ストライクウィッチーズ2 03 / ストライクウィッチーズ2 02 / ストライクウィッチーズ2 01 / ストライクウィッチーズ 12 / ストライクウィッチーズ 11 / ストライクウィッチーズ 10 / ストライクウィッチーズ 09 / ストライクウィッチーズ 08 / ストライクウィッチーズ 07 / ストライクウィッチーズ 06 / ストライクウィッチーズ 05 / ストライクウィッチーズ 04 / ストライクウィッチーズ 03 / ストライクウィッチーズ 02 / ストライクウィッチーズ 01
2010/10/6 5:10
さいきんじゃにゃいけいおん!! 26

 どっかで見たネタ集
 卒アルを楽しみに出来るあたりが女子校ってすごいにゃぁみたいにゃ感慨を
 和はもっと出番を増やしてざくざく唯を切って捨てて欲しい。
 まぁその前にTELくらい入れとけという話ではあるが
 紬の成長(というより変貌)っぷりが大いに見所だったにゃぁ
 良い〆で。
 まぁあれだ、本数減らしてクオリティ高いもの作ってくれーという方向としては素晴らしいもんがあったようにゃ気がする。

▼ けいおん 関連記事
▼ けいおん 関連記事     一覧メニュー    (全41件表示)
映画けいおん! / けいおん! 13 / けいおん!! 26 / けいおん!! 25 / けいおん!! 24 / けいおん!! 23 / けいおん!! 22 / けいおん!! 21 / けいおん!! 20 / けいおん!! 19 / けいおん!! 18 / けいおん!! 17 / けいおん!! 16 / けいおん!! 15 / けいおん!! 14 / けいおん!! 13 / けいおん!! 12 / けいおん!! 11 / けいおん!! 10 / けいおん!! 9 / けいおん!! 8 / けいおん!! 7 / けいおん!! 6 / けいおん!! 5 / けいおん!! 4 / けいおん!! 3 / けいおん!! 2 / けいおん!! 1 / けいおん! 13 / けいおん! 12 / けいおん! 11 / けいおん! 10 / けいおん! 09 / けいおん! 08 / けいおん! 07 / けいおん! 06 / けいおん! 05 / けいおん! 04 / けいおん! 03 / けいおん! 02 / けいおん! 01


Index


2010/11/03 19:26 
2010/11/02 10:13 
2010/11/01 15:49 
2010/11/01 09:48 
2010/10/31 12:28 
2010/10/31 09:44 
2010/10/30 13:23 
2010/10/30 09:30 
2010/10/29 20:18 
2010/10/29 01:06 
2010/10/28 15:27 
2010/10/28 00:02 
2010/10/27 15:19 
2010/10/27 05:35 
2010/10/26 20:17 
2010/10/26 09:55 
2010/10/25 20:53 
2010/10/25 00:57 
2010/10/24 21:29 
2010/10/24 09:31 
2010/10/23 17:05 
2010/10/23 00:42 
2010/10/22 20:55 
2010/10/22 00:51 
2010/10/21 18:08 
2010/10/21 02:33 
2010/10/20 18:07 
2010/10/20 00:58 
2010/10/19 14:26 
2010/10/19 09:59 
2010/10/18 20:55 
2010/10/18 09:45 
2010/10/17 14:11 
2010/10/17 02:11 
2010/10/16 15:54 
2010/10/16 00:27 
2010/10/15 23:35 
2010/10/15 02:12 
2010/10/14 20:04 
2010/10/14 09:18 
2010/10/13 18:58 
2010/10/13 01:08 
2010/10/12 20:38 
2010/10/12 01:02 
2010/10/11 18:56 
2010/10/11 00:08 
2010/10/10 14:54 
2010/10/10 02:21 
2010/10/09 22:44 
2010/10/09 09:29 
2010/10/08 14:46 
2010/10/08 09:17 
2010/10/07 14:38 
2010/10/07 01:06 
2010/10/06 05:10 
2010/10/05 01:23 
2010/10/04 12:58 
2010/10/04 01:20 
2010/10/03 18:06 
2010/10/03 01:14 
2010/10/02 16:39 
2010/10/01 08:58 
2010/09/30 03:38 
2010/09/29 01:33 
2010/09/28 14:32 
2010/09/28 01:34 
2010/09/27 13:53 
2010/09/27 01:43 
2010/09/26 17:06 
2010/09/26 10:47 
2010/09/25 07:16 
2010/09/25 01:03 
2010/09/24 15:05 
2010/09/24 01:51 
2010/09/23 10:25 
2010/09/23 01:33 
2010/09/22 22:20 
2010/09/22 09:58 
2010/09/21 09:38 
2010/09/21 03:57 
2010/09/20 23:08 
2010/09/20 01:50 
2010/09/19 14:12 
2010/09/19 01:02 
2010/09/18 18:15 
2010/09/18 01:25 
2010/09/17 22:34 
2010/09/17 01:17 
2010/09/16 17:37 
2010/09/16 10:19 
2010/09/15 23:06 
2010/09/15 02:03 
2010/09/14 22:16 
2010/09/14 01:34 
2010/09/13 22:32 
2010/09/13 01:11 
2010/09/12 20:30 
2010/09/12 03:58 
2010/09/12 02:27 
2010/09/11 21:05 
2010/09/11 02:20 
2010/09/10 13:22 
2010/09/10 01:35 
2010/09/09 23:02 
2010/09/09 03:33 

↑recent | ↓old | 20 index | 100 index | 300 index | 記事5件 | 記事10件 | 記事20件 |最新5件 |FAQ | カテゴリ一覧 | Index |