不好意思,小弟不太會寫程式
因為目前遇到一個問題
outlook有用ldap去設定同步AD的通訊錄
因為預設的port 389必須改port(因為資安的部分必須修改)
但是底下的員工數量有點多
想說用logon script去讓他們登入的時候自動修改
所以我目前查了一些資料~
reg query可以查詢
reg add可以修改
但是我要怎麼組合,讓他查到之後直接修改那個值呢?
因為outlook的ldap的設定位置再regedit裡面不是固定的地方(會因為Profile)不同
所以想問問有沒有大大可以教一下怎麼組合這兩個指令去修改port號呢?Thanks
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Outlook\Profiles\Outlook*f36a122b1f3f3e409718e3b2411b2588*
001e6601 REG_SZ 389
沒有測試、無法測試
希望可以派上用場
@echo off
setlocal enableDelayedExpansion
set "regPath=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Outlook\Profiles\Outlook"
set find_ValueName=001e6601
set find_Type=REG_SZ
set newPort=123
set cmdstr=reg query "%regPath%" /f "%find_ValueName%" /e /v /t "%find_Type%" /s
::畫面右邊某一個值
::reg query regPath /v 值的名稱
::regPath (預設值)
::reg query regPath /ve
::畫面左邊「子資料夾」 or 畫面右邊「值的名稱」 or 畫面右邊「值的值」
::reg query regPath /f 部份符合字串
::reg query regPath /f 完全符合字串 /e
:: /c 區分大小寫
:: /t 值的type
:: /s 尋找各層
::畫面左邊子資料夾
::reg query regPath /f 部份符合字串 /k
::畫面左邊所有的子資料夾
::reg query regPath /f * /k
::畫面右邊「值的名稱」
::reg query regPath /f 部份符合字串 /v
::畫面右邊「值的值」
::reg query regPath /f 部份符合字串 /d
for /f "delims=" %%a in ('%cmdstr%') do (
set line=%%a
rem 先顯示regKey的路徑
if "!line:~0,5!" == "HKEY_" (
echo keyPath=!line!
set keyPath=!line!
)
rem 再顯示找到的值「名稱」、「型別」、「值」
if "!line:~0,4!" == " " (
rem 2022/3/5 update
rem 這行是舊版 for /f "tokens=1-3" %%f in ("!line!") do (
rem 下面是新版。值的「內容」可以含有空格了。
rem 但是,值的「名稱」仍然不能含有空格。
for /f "tokens=1,2*" %%f in ("!line!") do (
echo ValueName=%%f
echo ValueType=%%g
echo Value=%%h
rem 如果正確的話,移除前面的echo
echo reg add "!keyPath!" /v "%%f" /t %%g /d "%newPort%" /f
)
)
pause
)
參數不正確
QUERY { PROCESS | SESSION | TERMSERVER | USER }
'ry' 不是內部或外部命令、可執行的程式或批次檔。
'ry' 不是內部或外部命令、可執行的程式或批次檔。
'ry' 不是內部或外部命令、可執行的程式或批次檔。
keyPath=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Outlook\Profiles\Outlook\f36a122b1f3f3e409718e3b2411b2588
請按任意鍵繼續 . . .
ValueName=001e6601
ValueType=REG_SZ
Value=389
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Outlook\Profiles\Outlook\f36a122b1f3f3e409718e3b2411b2588" /v "001e6601" /t REG_SZ /d "123" /f
請按任意鍵繼續 . . .
請按任意鍵繼續 . . .
得到的結果是這樣,我看了一下也沒有修改成功,我查不到ry是在哪一行有問題耶@_@不好意思