目前有一項需求, 是要Windows Client 每一段時間,執行一個script ,
gpo 只對那些會重開機及登出電腦的user有效, 但萬年不做以上行為的使用者還是很多
除了政策面的管理以外, 有想過用Ansible之類的工具,去管理, 但對幾百台電腦去做些初始設定有些不適合, 公司也沒有安控軟體能做遠端執行的工具, psexec 會被擋
長官要求要找出那些未登出及重開機的電腦,並讓牠們的電腦能夠完成定期執行特定script
我的想法是做一個script 讓user執行後,加入一個工作排程,定期自動執行特定script
但光找出那些電腦,就有點麻煩,
故想請問是否有更好的建議及方向?
如果你真會 GPO,區分好對象後,將要重開機的群組 GPO 可以直接命令所有電腦每天同一時間 (比如 02:00am) 重新開機,何必寫 script 這麼麻煩
但要這麼做之前,請先取得老闆跟主管強力支援、並發出公告 1~3 次之後開始執行 (但不建議寫明重開機時間) ,因若有人開檔放著,重開機後修改內容遺失,IT 會吃不了兜著走
需求: Windows Client 每一段時間 , 執行一個script
部屬: GPO 工作排程器
工作排程器:
建立一個工作排程器:名稱(必須)
建立一個觸發條件(開機時)(定時)都可以
工作排程器:執行內容(執行script)
Script功能:
1.找出未重開機的電腦 指令systeminfo
只要開機時間不是今天,可不可以算沒有重開機過?
2.找出未登出的電腦 指令:query user * /server:localhost
我就假設你已經會使用GPO部屬工作排程給用戶端的電腦了
指令給你了,我覺得兩個指令沒有很難處理,我就不寫出腳本(Script)內容了
不好意思,誤會了,我只需要開頭的條件限制下,讓user 能執行指定的script 就可以了, 不需要提供我其它東西,
你是要使用者手動去幫你執行Script?,還是要自動化執行?
(1)最理想狀態是使用者一無所知的情況下完成, (2)不然就是要統計出有那些電腦沒生效的, 發通知給他們執行一次就完成了
第(2)項是我不太想去做的, 光統計就花不少時間, 使用者願不願意配合又是一個問題 (雖然script 都準備好了)
那先往自動化執行方向前進,工作排程的觸發器內的那7-8個觸發條件不滿足你的需求嗎? 至少自動執行要先解決,挑一個比較能符合你的環境的,或者多條件觸發也可以
我來收納一下重點 1.目前的問題跟工作排程無關 ,(我已經寫好script 自動設定工作排程了) 2.重點的是怎麼讓USER 的電腦能去執行Script 3.GPO 再新增設定工作排程(因為若是手動執行Script 的電腦, 有了排程, 但換了使用者登入,排程就沒了, 所以要才透過GPO佈署新的工作排程(換了使用者登入, 就可以觸發GPO執行)
我的疑問等級越來越高了,建議你下次發文附上圖片一起發問
首先你將問題放在"怎麼讓使用者的電腦去執行你的Script"
然後說這個問題跟工作排程無關? 這兩者明明就是高度相關的
你卻又說不相關? 然後又有執行上的問題?
先回答的幾個我目前能理解的問題
加上一些工作排程運用時,常遇到的問題
1.GPO的工作排程器是能替你部屬到用戶端電腦上,
同時替你執行Script的好幫手
2.工作排程器能不能不影響使用者的情況下執行Script? (可以)
3.工作排程器能不能在不同使用者登入同一部電腦的時候
執行Script? (可以)
4.工作排程器可不可以在開機的時候執行Script? (可以)
5.工作排程器可不可以在使用者登入的時候跟使用者互動? (可以)
6.工作排程器可不可以定時重複執行Script? (可以)
7.工作排程器可不可以每日or每週1-5or特定日期執行Script? (可以)
最後除非你的需求非常特別? 我多年經驗至今真的沒遇過幾個案例
不然工作排程器在Windows可以解決95%大部份的需求
如果上面的例子有解決你的需求,你可以直接上網找資料學
或者直接在這裡問吧,我很好奇到底是什麼需求?
不好意思, 造成誤解, 雖然工作排程能解決您上面說的問題, 而我開頭確實也提到工作排程,但是我的問題不是工作排程, 因為這都是自己可以處理的範圍,不是我原本的問題, 所以才說工作排程不是重點, 我一開始的問題其實就只是如果GPO不生效, 沒有安控,沒有管理面可以協助, 要如何讓USER能自動執行SCRIPT 或是有更好的想法,就只有這個問題而以
網域GPO就是一個最好的選擇.
不生效就代表存在問題, 把這問題解決不就好了.
是的,請看開頭的問題, 代表我解決不了才來求助
網域GPO不生效? 你不先處理GPO為何不生效的原因嗎?
雖然我幾乎沒遇過不生效的,
除非USER端GPO更新時無法聯絡到DC
從USER端的事件檢視器LOG來看GPO有沒有生效,
沒生效就發email通知,或者發訊息在公司內部使用的通訊軟體上
Group Policy eventlog
或者你從你Script傳資料到收集的LOG之後
再用其他程式去對LOG上面的資料去判斷也可以啊
只要幾天那台電腦都沒有資料,要嘛機器沒有開機,
不然就是你的Script沒跑,一樣就發信件或者發訊息通知你
利用log當作觸發條件的工作排程,可以在用戶端解決你的問題
再不行你就把工作排程放到DC上,
透過DC去查詢用戶端的eventlog來判斷GPO更新狀態
你總不會跟我說DC有時候
也是左邊好一下右邊壞一下這樣的情況吧?
通常我不會去注意GPO有沒有生效,
我只會注意工作排程有沒有順利完成,
有需要在意的事件就是回傳或者email就這樣吃通知再處理
還有從你上面回復別人的訊息來看
你的問題不是GPO沒有生效吧?
應該是你把Script的執行條件
設定成只有重開機跟登出這兩個條件才執行Script吧
改成每日早上8點連續執行12小時每隔1小時執行一次
工作排程的選項有如果逾時了就立刻補跑的功能打勾
因為有開補跑功能的關係,就算電腦下午2點開機也會立刻補跑
這樣不就可以處理沒有重新開機跟未登出的問題了嗎?
你如果只在GPO那邊透過指令碼的功能在跑Script當然一堆問題
那裡的執行條件在GPO的設定上是可忽略的(可生效可不生效)
本來就不是給你穩定執行Script的地方
還有,跑Script沒成功的工作排程,
用管理工具連到那台電腦上去手動執行排程就好了
應該沒有很麻煩吧? 還是說你們的環境根本沒有設定過??
謝謝這麼長的回覆, 但您一直沒有提到重點, 幾百台的電腦,不是只有1,2台,我不會一個一個去看, 我也沒有說GPO完全不生效, 只是在不重開,不登出的電腦,沒有作用, 我不知道有那個GPO 設定是可以在上面的條件,能夠達成的, 如果Client 有工作排程, 我其實可以不需要GPO, GPO是用來給那些沒設定工作排程的帳號未來登入電腦用的, 看您的回覆, 是假設已經有工作排程了, (如果是您,要怎麼部署script 到幾百台電腦? 在使用者不重開機,不登出帳號, 沒有安控軟體,在沒有政策支持的情況下) 因為若是要手動去設定排程,這個作法,在幾百台面前,太沒有效率, 我前面也已經回覆了, 已作好script , 只要能讓user去一次性點二下就解決了, 不需要一台一台去連線設定 , 但沒有政策面支持, 我也不能冒然發訊息給user去做這個動作 , 但還是感謝您非常的熱心回覆, 我只是想看有沒有更好的作法
GPO就是來部屬工作排程的, 成功部屬後client的工作排程器就會多一筆由GPO部屬的工程排程
看完你的回覆,我已經理解您的問題在哪裡了,但是很抱歉,
我必須說你真的很不會上網問問題,你永遠抓不到你的核心的重點
你環境的描述能力也有很大的誤解,
我舉個簡單的例子,在考機車駕照的時候,
你一定會經過一種能力的練習,
那就是在載具上的平衡感訓練,一旦你考取到了機車駕照,
大多數的人都不需要花太多的時間去練習怎麼騎"腳踏車"
因為騎腳踏車的核心還是在"平衡感"這件事情上
我們再來回到GPO部屬Script上面,
幾百台的電腦要如何部屬GPO到上面去執行Script
從你一直在鬼打牆這件事情上,
我終於明白了你的問題核心出在哪了
一個正常透過GPO去部屬的作業,加上又有幾百台電腦的環境
只要透過GPO去部屬到一台電腦上,只要測試完畢成功了之後
假設再來要部屬到幾千或者幾萬台電腦上好了,
只不過是點個連結GPO就搞定的事情,
怎麼會有人在問要怎麼部屬到其他台電腦上這個問題?
都已經會用GPO部屬到電腦上了,怎麼可能不會部屬到幾百台上?
沒有人會認為你的環境或你的出發點有問題
但是如果你的環境或者你的出發點有問題,
你又沒有交代你的環境又發生問題的錯誤圖片,
只靠文字表達又沒辦法讓人明白的情況下
大概沒有人願意花時間跟你討論這麼多
因為大家只會覺得遇到超級小白或者遇到神經病
在這個IT邦論壇裡面,如果你對某個領域不熟,
請不要用好像這樣就OK的方式提問,
因為你有很大的機率用"錯誤的名詞"在跟別人討論問題
如果是您,要怎麼部署script 到幾百台電腦? 在使用者不重開機,不登出帳號, 沒有安控軟體,在沒有政策支持的情況下
錯誤的名詞: GPO (你的名詞跟我認知的名詞不一樣)
你的GPO是local Group Policy
在這裡IT邦討論中,如果沒有特別說明是本機GPO的情況下
如果只說"GPO"在討論的情況下,
在有意願回覆的人眼裡這邊都是在說Domain Group Policy
你的認知GPO只能生效在一台電腦上
我的認知是GPO會生效在我想部屬的組織單位內的"所有電腦上"
而本機GPO才會是跟你一樣的認知,只會生效在一台電腦上
你現在懂為何大家都在回答你用GPO就做得到了嗎?
因為在Domain Group Policy的部屬規則下,
同時讓幾百台電腦一起套用同一個GPO是家常便飯的事情
再者如果你的企業環境還沒有導入AD也是特殊情況
從你可以在GPO上面的規則上一直鬼打牆詢問的情況下
就可以推斷你根本不懂GPO的部屬,在GPO控管Windows這點上
如果你的企業環境沒有AD
要部屬幾百台本機GPO的環境方法並不是沒有
但是免不了還是要所有電腦都跑一趟(需要設定一些信任規則)
過程既花時間又需要對Windows的系統控管有大量的知識水準
根本不推薦讓AD都還沒有搞懂的人去做這樣的設定(搞死自己而已)
如果你的企業環境有AD
請去研究AD跟GPO的部屬規則,買書或者上網找相關文章
只要你搞懂了AD跟GPO的環境,你的疑問自己就會解決了
我實在不太想吵這個, 因為沒有人會在幾百台電腦用LOCAL GPO ,一定是Domain GPO 因為太基本了,所以我根本不會去提, 就不去爭到底是誰鬼打牆了, 畢竟您是熱心幫忙的, 我很感謝
我只是不知道, GPO 如果在沒有重開機,沒有登出帳號的情況下, 如何讓使用者執行script ? 如果有人知道的話, 相信問題就不會這麼長串了
我實在不太想吵這個, 因為沒有人會在幾百台電腦用LOCAL GPO ,一定是Domain GPO 因為太基本了,所以我根本不會去提, 就不去爭到底是誰鬼打牆了, 畢竟您是熱心幫忙的, 我很感謝
我只是不知道, GPO 如果在沒有重開機,沒有登出帳號的情況下, 如何讓使用者執行script ?
答案就GPO部屬工作排程丫(一次性也行).
換個描述 使用者設定->喜好設定->控制台設定->排定的工作(建立,取代,更新,刪除)
GPO部屬工作排程器,我回復的東西裡面有沒有提過這個解法?
用GPO部屬工作排程到用戶端的電腦上
每日早上8點連續執行12小時每隔1小時執行一次
工作排程的選項有如果逾時了就立刻補跑的功能打勾
我上面沒提過嗎?
你選擇性放棄理解別人回覆給你的方案?
不去思考有沒有解決你的問題
那就不要浪費彼此的時間吧
問題就出在原PO的GPO部屬是怎麼做的? 是放在登入/登出嗎?
https://ithelp.ithome.com.tw/questions/10197460
還是放在工作排程!?
希望最後原PO願意補上結果,看下來回覆裡是有答案的.
換個思路方向吧~
政策面的問題就從政策面處理
就發mail通知最近有系統更新,如果有無法上網的情況請重新開機即可。
(或者mail通知周末要系統更新,請他們本周找時間將電腦重啟,否則周末後上不了網)
然後從firewall把他們上網鎖起來,到時無法上網他們就會自己重開機了!