it-swarm.asia

Windows'da oturum açtığımda otomatik olarak bir komut dosyasını çalıştır

Windows'da oturum açtığımda bir komut dosyasını otomatik olarak nasıl çalıştırabilirim?

Bilgisayarıma her giriş yaptığımda böyle bir şey çalıştırmak istiyorum:

echo %USERNAME% logged on at %DATE% %TIME% >> log.txt

Bonus, ekran koruyucunun kilidini açtığımda da aynı betiği çalıştırabilmekti.

27
Hallgrim

Bilgisayarınızın kilidi açıldığında çalışacak zamanlanmış bir görev oluşturabilirsiniz:

  1. Başlat> Yönetimsel Araçlar> Görev Zamanlayıcı
  2. sol bölme: Görev Zamanlayıcı Kitaplığı'nı seçin
  3. sağ bölme: Görev Oluştur ... seçeneğini tıklayın (NOT: doğru tetiği almanın tek yolu budur)
  4. görev Oluştur iletişim kutusunda:
    • Genel sekmesi - göreviniz için bir ad girin
    • Tetikleyiciler sekmesi - Yeni ... 'yi tıklayın ve İş istasyonunda kilidi aç' ı seçin.
    • İşlem sekmesi - Yeni ... 'yi tıklayın ve komut dosyanızı bulmak için Gözat ...' ı tıklayın.
    • Koşullar sekmesi - işaretini kaldırın Görevi yalnızca bilgisayar AC gücündeyse başlatın

Ayrıca, komut dosyasını okumak için yolu daralttım.

echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt
18
Jeff

Zaten bir komut dosyanız varsa:

Bir kullanıcıya veya gruba oturum açma komut dosyası atamak için

  • Bilgisayar Yönetimi'ni açın.
  • Konsol ağacında Kullanıcılar'ı tıklatın.

Nerede? Sistem Araçları/Yerel Kullanıcılar ve Gruplar/Kullanıcılar

  • Oturum açma komut dosyası atamak istediğiniz kullanıcıyı çift tıklatın.
  • Profil sekmesine tıklayın.
  • Oturum açma komut dosyası alanına, bu kullanıcıya atamak istediğiniz oturum açma komut dosyasının yolunu ve adını girin ve ardından Tamam'ı tıklatın.

Başka bir deyişle, Microsoft'tan kullanışlı bir "HowTo" burada

Oturum açma komut dosyaları oluşturma

Bir kullanıcı belirli bir bilgisayarda oturum açtığında gerçekleştirilecek görevleri atamak için oturum açma komut dosyalarını kullanabilirsiniz. Komut dosyaları işletim sistemi komutlarını yerine getirebilir, sistem ortamı değişkenlerini ayarlayabilir ve diğer komut dosyalarını veya yürütülebilir programları çağırabilir. Windows Server 2003 ailesi iki komut dosyası ortamını destekler: komut işlemcisi, toplu iş dili komutlarını içeren dosyaları çalıştırır ve Windows Komut Dosyası Sistemi (WSH), Microsoft Visual Basic Komut Dosyası Sürümü (VBScript) veya Jscript komutlarını içeren dosyaları çalıştırır. Oturum açma komut dosyaları oluşturmak için bir metin düzenleyici kullanabilirsiniz. Genellikle oturum açma komut dosyaları tarafından gerçekleştirilen bazı görevler şunlardır:

  • Ağ sürücülerini eşleme.
  • Kullanıcının varsayılan yazıcısını takma ve ayarlama.
  • Bilgisayar sistemi bilgisinin toplanması.
  • Virüs imzalarını güncelleme.
  • Yazılım güncelleniyor.
  • Aşağıdaki örnek oturum açma komut dosyası, Active Directory kullanan VBScript komutlarını içerir
  • Bir kullanıcının grup üyeliğine bağlı olarak üç ortak görevi gerçekleştirmek için Hizmet Arabirimleri (ADSI):

WSH Network nesnesinin MapNetworkDrive yöntemini, WSH Network nesnesinin UserName özelliği ile birlikte arayarak H: sürücüsünü kullanıcının ana dizinine eşler. Geçerli kullanıcının ayırt edici adını elde etmek için ADSI IADsADSystemInfo nesnesini kullanır, bu da Active Directory'de karşılık gelen kullanıcı nesnesine bağlanmak için kullanılır. Bağlantı kurulduktan sonra, kullanıcının üyesi olduğu grupların listesi, kullanıcının memberOf özniteliği kullanılarak alınır. Çok değerli grup adları listesi, hedef grup adlarını aramayı kolaylaştırmak için VBScript'in Join işlevi kullanılarak tek bir dizeye birleştirilir.

Geçerli kullanıcı, betiğin üstünde tanımlanan üç gruptan birinin üyesiyse, komut dosyası kullanıcının G: sürücüsünü grup paylaşımlı sürücüyle eşleştirir ve kullanıcının varsayılan yazıcısını grup yazıcısı olarak ayarlar. Örnek bir oturum açma komut dosyası oluşturmak için

  • Not Defteri'ni açın.
  • Aşağıdakileri kopyalayıp yapıştırın veya yazın:

    Const ENGINEERING_GROUP     = "cn=engineering"
    Const FINANCE_GROUP         = "cn=finance"
    Const HUMAN_RESOURCES_GROUP = "cn=human resources"
    
    Set wshNetwork = CreateObject("WScript.Network")
    wshNetwork.MapNetworkDrive "h:",
    "\\FileServer\Users\" & wshNetwork.UserName
    
    Set ADSysInfo = CreateObject("ADSystemInfo")
    Set CurrentUser = GetObject("LDAP://" &
    ADSysInfo.UserName)
    strGroups = LCase(Join(CurrentUser.MemberOf))
    
    If InStr(strGroups, ENGINEERING_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Engineering\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\EngLaser"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\Plotter"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\EngLaser"
    
    ElseIf InStr(strGroups, FINANCE_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Finance\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\FinLaser"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\FinLaser"
    
    ElseIf InStr(strGroups, HUMAN_RESOURCES_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Human Resources\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\HrLaser"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\HrLaser"
    
    End If
    
  • Dosya menüsünde Farklı Kaydet'i tıklatın.

  • Kaydetme bölümünde, etki alanı denetleyicisinin Netlogon paylaşılan klasörüne karşılık gelen dizini tıklatın (genellikle EtkiAlanının tam etki alanı adı olan SystemRoot\SYSVOL\Sysvol\DomainName\Scripts).
  • Kayıt türü bölümünde, Tüm Dosyalar'ı tıklatın.
  • Dosya adı alanına bir dosya adı yazın, ardından .vbs yazın ve ardından Kaydet'i tıklatın. WSH, VBScript komutlarını içeren dosyaları tanımlamak için .vbs uzantısını kullanır.
22
Ivo Flipse

Düşünebildiğim en basit yol bunu başlangıç ​​klasörünüzdeki bir .bat dosyasına koymak olacaktır.

Toplu iş dosyasını, kayıt defterine eklemek için daha karmaşık bir yol

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

kayıt defteri anahtarı.

14
Bruce McLeod

Gerek yok! Windows zaten bunu sizin için günlüğe kaydetme mekanizması olay günlüğüne sahiptir. Olay kimliği 4624'tür (Vista öncesi sistemlerde 528).

2

Ekran kilitliyken/kilidi açıldığında bunun çalıştırılmasında kullanılıp kullanılamayacağını bilen var mı?

Windows 7 ve/veya Windows Server 2008 için bir yol var.

Görev Zamanlayıcı'yı kullanın, tetikleyici "Oturum açtığımda" kullandığından, yeni temel görev oluşturun.

2
Tomas Tintera

İyi bir alternatif yöntem, içinde çalıştırmak istediğiniz komutlarla bir toplu iş dosyası oluşturmaktır. Ardından, makinedeki politika düzenleyicide oturum açma işleminin bir parçası olarak bir oturum açma komut dosyası çalıştırdığını belirteceksiniz. Kısa bir not, bu seçeneğin yalnızca ev sürümünde değil XP Pro'da kullanılabilir.

Grup İlkesi Düzenleyicisi Burada Öğretici

2
Axxmasterr