iT邦幫忙

5

關於powershell dns policy 同步問題

  • 分享至 

  • xImage

之前用 PowerShell 的功能寫了個 DNS DENY Policy 的小 Script 檔(.ps1) ,因為需要把這些 Policy 同步到另一台 DNS 主機上,所以請 ChatGPT 幫忙完成了 Script 。
用管理員身份開啟 PowerShell 視窗,執行該 Script ,兩台 DNS 主機上都有一樣的設定,但是若是把該 Script 放進排程,則只會在主要這台去設定,被同步的另一台卻不會有。
Script 內容及步驟

  1. 取得 DENY 站台資訊
  2. 清除 local 端全部相關 Policy
  3. 依照資訊內容逐筆加入 Policy
  4. 清除 remote 端全部相關 Policy
  5. 依照資訊內容在 remote 端逐筆加入 Policy
    以上若是手動執行,完全不會有問題,但若是由排程執行,似乎只能執行到第 4 步,第 5 步表面上看起來有執行,但是在 remote 端卻完全沒有東西 (因為被第 4 步給清掉了) 。

這會是什麼原因?
作業系統是 Windows 2019

謝謝!

看更多先前的討論...收起先前的討論...
尼克 iT邦大師 1 級 ‧ 2025-10-09 10:03:33 檢舉
排程的權限請檢查
canchang iT邦新手 2 級 ‧ 2025-10-09 19:39:34 檢舉
清除的動作是正常的,還是刪除跟新增需要的權限不一樣?
zero iT邦好手 1 級 ‧ 2025-10-13 16:29:12 檢舉
檢查你工作排程的執行帳戶,確保你遠端使用的指令在該帳戶下有權限

不能只靠清除OK就認為刪除與新增也行
canchang iT邦新手 2 級 ‧ 2025-10-14 22:24:28 檢舉
本身用 AD 的帳號,在系統管理員群組,然後用系統管理員的身份開 PowerShell 視窗去執行那支 Script 。
排程的執行者是同一帳號,然後也有勾選用最高權限執行。
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
kawa0710
iT邦研究生 3 級 ‧ 2025-10-09 09:26:34

可能是「執行原則」的問題。
powershell script檔copy到別的電腦時,要處理這個問題。

我自己習慣是直接在要用的電腦開啟Powershell ISE貼ps內容再儲存,這樣新的ps就不用改執行原則,避免造成資安弱點。

canchang iT邦新手 2 級 ‧ 2025-10-12 12:55:17 檢舉

我看 Script ,好像沒有 copy 的動作,只有在 A 這台主機去讀檔案,然後下指令去 B 主機設定。
這個動作,直接執行 Script 是正常的,但是用排程就不正常。

我要發表回答

立即登入回答