Forum

Pc'lerin belirli sa...
 
Bildirimler
Hepsini Temizle

[Çözüldü] Pc'lerin belirli saatten sonra otomatik kapanması.

26 Yazılar
8 Üyeler
0 Reactions
5,817 Görüntüleme
(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Merhabalar,

 Çalışmış olduğum şirkette her gün saat 18:00 dan sonra 40 dk boyunca işlem yapılmayan client'lerin otomatik olarak shut down olması istenmektedir. Bunun için önerecek oldugunuz ücretsiz 3 party program yada gpo üzerinden yapmanın bir yolu varmıdır?

 Konu biraz acildir yardımlarınızı rica ederim.  

 
Gönderildi : 24/05/2012 19:34

(@ufuktatlidil)
Gönderiler: 5718
Illustrious Member
 

Buraya göz atar mısınız tekrar.

 
Gönderildi : 24/05/2012 20:39

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

teşekkür ederim sanırım bu ihtiyacımın tam olarak karşılığı test edip bilgi paylaşırım.

 İyi günler.

 
Gönderildi : 24/05/2012 20:56

(@ufuktatlidil)
Gönderiler: 5718
Illustrious Member
 

Okey, test edip geri dönüşünüzü bekliyorum.

 
Gönderildi : 25/05/2012 13:03

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Merhab Ufuk Bey,

  ; Auto Restart


; AutoIt Version:   3.0
; Language:         English
; Platform:         Win XP Embedded
; Author:           fctd
; Revision:         1.0
; Script Function:  Automatic shutdown of a PC at 03:00:00 hours

; indude library
#include <GuiConstantsEx.au3>
#include <Date.au3>
#include <WindowsConstants.au3>
;

; define global variables
Global $iMemo
Global $nRestartHour = 3

; message
$answer = MsgBox(0, "Forced shutdown", "This script will automaticly shutdown the pc at 03:00:00 hours.",15)

; Run Functions
Display
()
Main
()
ShuttingDown
()

; Main program loop
Func Main()

    Do
       
; wait until it's time to restart the PC
       
if (@HOUR = $nRestartHour And @MIN = 0 AND @SEC = 0) Then
           
ExitLoop
       
EndIf
       
       
; check if newcs is succesfully restarted, else restart newcs.
       
   
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc

; Shut down function
Func ShuttingDown()
   
;Shutdown(5)  ;Force a shutdown
   
MsgBox(0, "Automatic program", "!! Shutting down !!",15)
EndFunc

; Show display
Func Display()
   
Local $hGUI, $tCur, $tNew
   
   
; Create GUI (Graphical User Interfaces)
   
$hGUI = GUICreate("Auto Restart", 400, 300)
   
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
   
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
   
GUISetState()

    ; Get current system time
   
$tCur = _Date_Time_GetLocalTime()
    MemoWrite
("Program started at: " & _Date_Time_SystemTimeToDateTimeStr($tCur))
    MemoWrite
("")
    MemoWrite
("This PC will shutdown at 03:00:00 hours or when this message is closed")
   
EndFunc

; Write a line to the memo control
Func MemoWrite($sMessage)
   
GUICtrlSetData($iMemo, $sMessage & @CRLF,1)
EndFunc

 

 Belirttiğiniz sayfada yukarıdaki script mevcut bunu ben kendime uyarlamaya calıstım biraz karıstım yardımcı olabilirmisiniz? Hergün saat 18:00 ' dan sonra eğer pc 40 Dakkika boşta ise shutdown olacak.

Bide bunun uzantısı ne olcak au3 mü? Anladıgım kadarıyla bunu gpo üzerinden startup a yerleştircem, böylelikle her loginde scrip'i güncelliyecek. 

 
Gönderildi : 25/05/2012 14:05

(@Anonim)
Gönderiler: 0
 

Global $nRestartHour = 18 olacak

 
Gönderildi : 26/05/2012 15:16

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Merhaba,

 

Birde pc'nin 18'den sonra 40 dk boşta kalma süresini ayarlamam gerekecek saat 18 den sonra eğer 40 dk hareketsiz kalırsa shutdown olması gerekli pc'nin ve en son olarak bu dosyanın uzantısını .bat olarak mı ayarlamam gerekecek? Script konusunda biraz deneyimsizim yardımlarınızı bekliyorum.

 

Teşekkürler iyi çalışmalar. 

 
Gönderildi : 27/05/2012 05:10

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Merhabalar Aloneman,

Aşağıdaki anlatım işinizi görecektir.


 

 
Gönderildi : 27/05/2012 15:03

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Merhaba,

 

İlginiz için teşekkür ederim clientler xp ve bunu DC üzerinden yapmam gerekli çünkü client sayısı bi hayli fazla buradaki anlatımı DC üzerinden yapmam mümkünmüdür acaba?

 

Teşekkürler iyi çalışmalar. 

 
Gönderildi : 27/05/2012 15:40

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

computer configuration \ preferences \ control panel settings \ scheduled tasks  yollarını izleyerek gpo üzerinden yeni bir scheduled tanımladım. Bakalım şimdi test asmasındayım.

 

Teşekkürler iyi çalışmalar. 

 
Gönderildi : 27/05/2012 16:36

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Hazırladıgım policy client in almasını sağladım fakat scheduler altına gelmiyor gpresult yazdıgımda gpo nun cekildiğini görüyorum he birde gpo report una baktıgımda 

An error has occurred while collecting data for Scheduled Tasks.

The following errors were encountered:

An unknown error occurred while data was gathered for this extension.
Details: Could not find a part of the path
'\\server.domain.local\SysVol\domain.local\Policies\{528DE09A-D378-4274-B8DF-201F1F8E329E}\Machine\Preferences\ScheduledTasks\ScheduledTasks.xml'.

şeklinde gözüküyor. Sorun nedir acaba? 

 

 
Gönderildi : 27/05/2012 17:37

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Biraz geç yazdım ama yettim gayri 🙂

Öncelikle yazdığınız hatanın sebebi oluşturduğunuz schedule task'ın ayarlarının bulunduğu xml dosyasındaki eksikliklerden kaynaklanıyor. Tahminimce Client'ların kullanıcı ayarlarıyla ilgili bir sorun.

Yapmak istediğiniz uygulama için alternatif olarak aşağıdaki gibi bir şey yaptım, belki işinizi görür 🙂

Uygulama iki dosyadan oluşuyor ve bu iki dosyayı bir kez çalıştırmanız yeterli.

Shedule.cmd dosyasının içerisinde 2 satırdan oluşan bir komut dizisi bulunuyor. Herhangi bir demo bilgisayarda her iki satırıda sırayla deneyin. Dil yapılandırması gereği biri hata verecektir. Hata vermeyen satırı cmd uzantılı dosyaya kaydedip bütün client'larda çalıştırın.

Bu arada shedule oluşturmaya çalıştığım sırada belirttiğiniz şekilde saat 18:00'dan sonra 40 dakikalık süre zarfında idle moddaysa kapansın olayını yapamadım. Sistem hem belli bir süreye ayarlanmış, hemde sistem boştayken çalış şeklinde bir zamanlayıcıyı kabul etmiyor. Bu sebepten saat 18:10'dan sonra 40 dakika sonunda kapanması için ayarladım. Bununla birlikte ikinci oluşturduğum ask.cmd dosyasının amacı saat 18:10'dan sonra bilgisayar başında bir kullanıcı olması durumunda bilgisayarın kapatılmaya ayarlandığını bunu onaylayıp onaylamadığını sorması.

 Elbette ne olur ne olmaz diye demo bir bilgisayarda bir süre gözlemledikten sonra uygulamanız daha iyi olur.

Shedule.cmd

------------------------------------------------------------

schtasks /CREATE /RU System /sc GÜNLÜK /st 18:10 /tn Shutdown /tr "shutdown -s -f -t 2400 && C:\Windows\ask.vbs"

schtasks /CREATE /RU System /sc DAILY /st 18:10 /tn Shutdown /tr "shutdown -s -f -t 2400 && C:\Windows\ask.vbs" 

------------------------------------------------------------   


Ask.cmd
------------------------------------------------------------   

echo Dim objNet, objShell >C:\Windows\ask.vbs

echo Set objNet = CreateObject("WScript.NetWork") >>C:\Windows\ask.vbs     

echo Dim strPcName >>C:\Windows\ask.vbs

echo strPcName =  objNet.ComputerName >>C:\Windows\ask.vbs

echo set objShell = wscript.createObject("wscript.shell") >>C:\Windows\ask.vbs

echo strCancel = "shutdown -a" >>C:\Windows\ask.vbs

echo intAnswer = _  >>C:\Windows\ask.vbs

echo    Msgbox("Bilgisayarınız 40 Dakika Sonra Kapatılacaktır.  Bu İşlemi İptal Etmek İster misiniz?", _ >>C:\Windows\ask.vbs

echo         vbYesNo, "Kapatma Uyarısı") >>C:\Windows\ask.vbs

echo If intAnswer = vbYes Then >>C:\Windows\ask.vbs

echo objShell.Run strCancel >>C:\Windows\ask.vbs

echo Set objNet = Nothing >>C:\Windows\ask.vbs

echo Else >>C:\Windows\ask.vbs

echo End If >>C:\Windows\ask.vbs

------------------------------------------------------------ 

 
Gönderildi : 27/05/2012 19:35

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

🙂 teşekkür ederim şimdi bir client'te test edicem bu arada bu cmd dosyalarının her login'de start olmasımı gereklidir acaba? Birde domain ortamı oldugu için standart user'lar bunu start edemeyebilirler bu cmd uzantılı dosyaları admin user'la start etmemmi gerekecek?

 

Gpo üzerinden her kullanıcının startup una koymam ve adminle başlamasını sağlamam bu sorunu asar sanırım. Deneyip görücez. 

 
Gönderildi : 27/05/2012 20:03

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Merhaba,

Belirttiğiniz cmd dosyalarının 2 sinide çalıştırdım herhangi bir işlem gerçekleşmedi 🙁

 

Bilgilerinize,

İyi çalışmalar. 

 
Gönderildi : 27/05/2012 21:31

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Merhaba,

 

Çözümpark hocalarımızın bence bu konuya el atması ve güzel acıklayıcı bir makale yazması gerekli malum elektirik kullanımını en aza indirmemiz gereken zamanlardayız artık küresel ısınmalar ve cep yakan faturalardan kurtulabilmek için. Şöyle bir yol izledim ama tam olarak yapamadım C:\Windows\System32\shutdown.exe -s -t 00 kodunu cmd dosyası olarak kaydettim ve buna bir scheduled Task atadım ve bu taskın içeriğinde yanlızca 40 dk idle kalır ise başlat olarak işaretledim. Şu anda client üzerinde lokalde bu çalışır durumda fakat bunu gpo üzerinden tüm clientlerin task'ına atmaya calıstıgımda 

An error has occurred while collecting data for Scheduled Tasks.

The following errors were encountered:

An unknown error occurred while data was gathered for this extension. Details: Could not find a part of the path '\\server.domain.local\SysVol\domain.local\Policies\{528DE09A-D378-4274-B8DF-201F1F8E329E}\Machine\Preferences\ScheduledTasks\ScheduledTasks.xml'.

 

şeklinde hata vermeye devam ediyor.

Hocalarımızdan bu konuda yardım bekliyorum.

 

Teşekkürler iyi çalışmalar. 

 
Gönderildi : 27/05/2012 23:51

(@Anonim)
Gönderiler: 0
 

arkadaşım uzzaktaki makinanın boşta olup olmadığını nasıl bilebilirsin ? 

böyle bir şey yok.

belli saat verip kapatacaksın.

makinanın boşta olup olmadığını şöyle ayarlayabilirsin.

bu scripti exe ye çevir SCR uzantısına dönüştür.

makinada  bu scr yi ekran koruyucu ayarla

makinanın 40 dk boşta kalma durumunda ekran koruyucu olarak bunu çalıştıracaktır.

Bu durumda saat 18 i geçmişse makina kapanacaktır. 

 
Gönderildi : 27/05/2012 23:56

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Makinanın lokaline task atıyorum tasın içeriğinede sadece 40 dk idle ise başla diyorum bu mümkün.

 
Gönderildi : 28/05/2012 00:02

(@miracatmis)
Gönderiler: 317
Honorable Member
 

benimde aradığım buydu bir çözüm olursa memnun olurum

 
Gönderildi : 28/05/2012 03:08

(@ErcinKaya)
Gönderiler: 14
Active Member
Konu başlatıcı
 

Tekrar merhaba,

 scheduled task olarak tanımladım scheduled task üzerinden 40 dk boş kalırsa calıstır dedim bu çalıştı sorun yok. 40 dk süresinde bir işlem yapılırsa çalıştırma dedim buda çalıştı yani işlem yapıldıgı sürece pc kapanmadı. Tekrar scheduled task'da su kadar süre sonra aynı işlemi tekrarla ayarını yapamadım yani yaptıgımı düşünüyorum fakat devreye girmiyor. scheduled task konusunda takıldım su anda scheduled task konusunda yardıma ihtiyacım var eğer bunuda aşabilirsem ihtiyacımı tam olarak karsılamıs olucam.

Acil yardım pls scheduled task da işlemi tekrarlatmanın bir yolu yokmu acaba? Benmi yanılıyorum var oldugunu biliyorum ama... 

 
Gönderildi : 28/05/2012 14:34

Sayfa 1 / 2
Paylaş: