Symantec Live Update Administrator (LUA) servis sorunu

Dün Symantec version geçişinden sonra LUA servisinin durduğunu farkettim. Başta güncellemeden olduğunu sansamda sonradan java kaynaklı olduğunu buldum.

Eğer Symantec LUA servisini başlatırken aşağıdaki hatayı alıyorsanız

Could not start the LUA Apache Tomcat service on Local Computer.
Error 1067: The process terminated unexpectedly.

ve komut istemi üzerinden

java -version komutunu çalıştırdığınızda
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

hatasını alıyorsanız, Javanın en son kurulu paketini sisteminizden kaldırmanız veya tüm paketleri kaldırıp javayı yeniden kurmanız gerekiyor.

mysql root parolası resetleme

mysql servisini durdurduktan ve görev yöneticisi üzerinde tüm mysqld hizmetinin çalışmadığına emin olduktan sonra,

mysql\bin klasörü altında
mysqld --skip-grant-tables
Bu komut penceresi açıkken yeni bir komut penceresi açıp tekrar mysql\bin klasörüne geliyoruz

mysqld

yazıp veritabanına bağlandıktan sonra aşağıdaki komutları çalıştırıp pencereyi kapatıyoruz

mysql> USE mysql
mysql> UPDATE user SET password=password("newpassword") WHERE user="root";
mysql> flush privileges;
mysql> exit;

Bütün açık komut pencerelerini kapattıktan sonra görev yöneticisinden mysqld uygulamasını sonlandırıp MySQL servisini başlatıyoruz.

Vb.net remote registry ile bilgisayarın ürün anahtarını bulmak

vb.net kullanarak uzaktaki bilgisayarın ürün anahtarını almak, get remote computer product key using remote registry

vb.net envanter programı için gerekli olabilecek bir parça.
Imports Microsoft.Win32
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(GetXPKey(TextBox1.Text))
End Sub
Public Function GetXPKey(ByVal hostorip As String) As String
Dim MyReg As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, hostorip)
Dim MyRegKey As RegistryKey
MyRegKey = MyReg.OpenSubKey("Software\Microsoft\Windows NT\currentVersion", True)
Dim bytDPID() As Byte = MyRegKey.GetValue("DigitalProductID")
MyRegKey.Close()
Dim bytKey(14) As Byte
Array.Copy(bytDPID, 52, bytKey, 0, 15)
Dim strChar As String = "BCDFGHJKMPQRTVWXY2346789"
Dim strKey As String = ""
For j As Integer = 0 To 24
Dim nCur As Short = 0
For i As Integer = 14 To 0 Step -1
nCur = CShort(nCur * 256 Xor bytKey(i))
bytKey(i) = CByte(Int(nCur / 24))
nCur = CShort(nCur Mod 24)
Next
strKey = strChar.Substring(nCur, 1) & strKey
Next
For i As Integer = 4 To 1 Step -1
strKey = strKey.Insert(i * 5, "-")
Next
Return strKey
End Function
End Class

Microsoft Outlook Gönderilen Eposta geçmişini aktarmak,silmek

Microsoft Outlook Gönderilen Eposta geçmişini aktarmak,silmek

Adres listenizde kayıtlı olmayan otomatik tamamlama ile bilgisayarınızda saklanan epostaları için

Tek birini silmek isterseniz; kürsor üzerinde iken delete tuşuna basarak otomatik tamamlama listenizden silebilirsiniz.

Eğer tamamını silmek isterseniz.
%AppData%\Microsoft\Outlook (default olarak C:\Documents and Settings\user\Application Data\Microsoft\Outlook)  dizinindeyer alan Outlook.NK2 isimli dosyayı silmeniz yeterli.

Otomatik tamamlama listenizde hızlı güncelleme yapmak,silmek, tüm listenizi kayıt etmek isterseniz NK2View yazılımını kullanabilirsiniz.

Yeni bilgisayarınızdaki outlook hesabınıza aktarmanız için ise Outlook.NK2 isimli dosyayı yeni bilgisayarnızdaki kopyalamak yeterlidir.

x64 üzerinde Visual Studio ODBC bağlantıları problemi

XP, Vista, Windows7 x64 üzerinde ODBC üzerinden veritabanı bağlantısı yaptıktan sonra

“ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch”

hatası almamız muhtemel. Sebebi yine ODBC sürücülerinin 32bit sürücü desteğine sahip olması. Her ne kadar ODBC test ettiğimizde başarılı bir şekilde bağlandım dese de vb.net üzerinden bağlantı açılırken yukarıdaki hata mesajını döndürmekte.

Hatayı geçmek için projemizi çalışacağı CPU yu x86 seçmelimiz gerekiyor.

VS2008 üzerinde x86 ayarlanması

Project menüsünden Projemizin özelliklerini açalım.

Compile bölümünü açalım

Advanced Compile Optionsa yarlarını açalım.

Target CPU seçeneğini x86 seçtiğimizde projemiz artık sadece 32bitlik uygulama gibi çalışacak. Yukarıdaki ODBC sorunu kalkacaktır 🙂

Klasör yetkilerini cacls komutunu kullanarak script/bat dosyası ile değiştirmek

Kısıtlı kullanıcıların sabit bir dizinde bulunan uygulamayı tam yetkileri ile kullanabilmeleri için group policy ile script/batch file oluşturalım.
isterseniz Group Policy üzerinde Computer Configuration / Windows Settings / Security Settings /  File System altındanda düzenleyebilirsiniz. Anlatım script yönetmi üzerine.

Kullanacağımız komut cacls (vista ile daha gelişmiş icacls komutu mevcut ama bizim istemcilerimiz xp ve cacls komutunu vista üzerinde de kullanabiliriz)

Parametreler:
parametrelere cacls /? yazarak ulaşabilirsiniz.
/t ACL listemizin alt dizin/dosyalara da etki etmesini sağlar
/e değiştirme yapmamızı sağlar. (bunu kullanmazsak mevcut ACL bilgileri silinir yeni yetkiler aktarılır
/p mevcut olan yetkileri değiştirmek için
/r kullanıcıyı acl listesinden silmek için
/c hata oluşsa bile devam etmesi için
/d kullanıcı erişimini engellemek için
yetkiler:
R Oku
W Yaz
C Değiştir (yaz)
F Tam denetim

Örnekler
CMD /c Echo E| komutunu başa yazarak bize onay sormasını engelliyoruz.(Ingilizce olan işletim sistemleri için E yerine Y koymamız gerekiyor. Bunları ayırt etmemize gerek yok hem E hemde Y olan satırları peş peşe çalıştırırsanız bir tanesi geçerli olacaktır.)

CMD /c Echo E| cacls c:\test /t /c /g Administrators:F system:f users:r musti:f
Üstteki örnekte c:\test klasörü ve alt klasörlerindeki tüm yetkiler silinip administrators,system gruplarına tam yetki users grubuna ise okuma yetkisi veriyoruz.

CMD /c Echo E| cacls c:\test /e /t /r users
Bu örnekte ise mevcut acl listemizden sadece users grubuna verdiğimiz yetkileri siliyoruz

CMD /c Echo E| cacls c:\test /t /e /p users:r musti:f
mevcut acl üzerindeki yetkileri users grubuna sadece okuma musti kullanıcısına tam yetki verdik.

CMD /c Echo E| cacls c:\test /e /d musti
musti isimli kullanıcının dizine erişimini engelliyoruz

Bu kodları bat dosyası içerisine yazabileceğimiz gibi vbs üzerine de ekleyebiliriz.
Örnek vbs dosyamız.

Option Explicit
Dim klasor
Dim intRunError, objShell, objFSO
klasor = "c:\test"
Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(klasor) Then
intRunError = objShell.Run("CMD /c Echo E| cacls " & klasor & " /t /c /g Administrators:F ", 2, True)
If intRunError <> 0 Then
Wscript.Echo klasor & " Klasörünün izinleri değiştirilirken hata ile karşılaşıldı."
End If
End If
WScript.Quit

VBScript ve WMI kullanarak envanter çıkaralım.

Scriptimiz çalıştırıldığı bilgisayarın envanterini çıkartarak, paylaşıma koyduğumuz mdb dosyası üzerine kayıtı yazıyor. Veritabanına yazdıktan sonra C: dizini altına env.txt isimli dosya oluşturuyor. Aynı bilgisayarda tekrar çalışmaması için ise env.txt dosyasının varlığını kontrol ediyor dosya varsa eğer envanteri çıkartmadan çıkıyor.

Active Directory üzerinden logon script olarak uygulayıp envanter bilgisi toplayabiliriz.

Envanter içeriği,
Network kartları ve ip,dns,gateway,subnetleri.
cdrom, fiziksel disk sürücüler ve partition yapilari, bilgisayara takılı olan ramler vb

'==========================================================================
'
' notsayfam.com
'
'==========================================================================


Option Explicit
dim envanter

envanter = "c:\env.txt"
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

Dim iCursorType        ' The Cursor Type for the Recordset
Dim iLockType        ' The Lock Type for the Recordset

Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

' c:\env.txt dosyasi mevcut degilse envanter cikarilmasini sagliyoruz
if not fso.FileExists(envanter) then

Dim output
Dim wmiService
Dim bilgiler

Dim hostname
Dim islemci
Dim islemcifiziksel
Dim islemcicekirdek

Okumaya devam et “VBScript ve WMI kullanarak envanter çıkaralım.”

Silinmiş Partition larınızı birkaç dakikada geri getirin.

Disklerinizdeki partition yanlışlıkla veya zararlı bir program nedeniyle silinmiş olabilir veya geçen gün benim yaptığım gibi ihtiyaç olmadığı halde dinamik diske dönüştürülmüş bir diski tekrar Temel dise dönüştürdüğümüzde ihtiyaç olabilir.

Partitionlarınızı geri getirmek için kimimiz partitionu tekrar oluşturup data recovery ile verileri geri getirmeye kimileri ise veriler tamamen gitmiştir diyerek dosyalarından vazgeçmekte.

Oysa Acronis Disk Director Suite yazılımı ile silinen/görünmeyen partition bilgilerimizi geriye getirebiliriz.Sadece 1 kaç dakika içerisinde. Disk boyutu önemli değil. 1Tb lık disk dahi 1 dakika sürüyor.

İşlemi çalışan bir windows üzerine yazılımı kurarak veya başka sabit diskimiz yok ise Acronis Ultimate Boot CD veya Directory Suite Boot cd ile bilisayarımızı başlatarak partitionumuzu geri getirebiliriz.

İster boot cd ile ister windows ortamından yapalım ekranlar aynı

Yapılacak işlemler. (ben boot cd ile gerçekleştirdim)

Acronis Disk Director Suite yi açalım. Açılışta karşımıza çıkan “Automatic Mode” “Manual Mode” seçeneklerinden “Manual Mode” yi seçelim.
acronis01

acronis02

Sonra Sol menü bardan veya üstteki menüler içerisinde Wizard altında bulunan “Recover Partitions” seçeneğini seçelim. 

  Okumaya devam et “Silinmiş Partition larınızı birkaç dakikada geri getirin.”

VbScript ile terminal server kullanıcı local ip adresi kontolü

kullanılan toolun kötü bir özelliği var bağlanan makinenin local ip adresini gösteriyor. 🙁 firmaya durumu ilettim ama değiştirirler mi bilemiyorum. Ama toolu kullanarak şöyle yapabilirsiniz örneğin sizin terminal sunucunuzun bulunduğu ip bloğu 10.0.5.xx gibi bir bloksa. 10.0.5 ile başlamıyorsa kullanıcıyı logoff edebilirsiniz. kullanıcının local ip adresi genelde 10.0.0.x / 192.168.1.x/192.168.2.x şeklinde (standart adsl modemlerin dağıtımı, en çok kullanılan bloklar bunlar.)

Toolu http://www.ctrl-alt-del.com.au/CAD_Utils.htm adresinden indirebilirsiniz. adı GETTSCIP

kontrol etmek istediğiniz kullanıcıların logon scriptine

Mantığı: Kullanıcının belgelerim klasörüne k.adı.txt isimli bi dosyaya GETTSCIP ile bağlanan kullanıcının ip adresini kayıt ettiriyoruz. Sonra programın verdiği çıktıdan (WTSClientAddress: 192.168.2.51) ip adresini ve adresin ilk 7 karakterini alıyoruz. Sonra bizim ip bloğumuz ile karşılaştırıyoruz tutmuyorsa kullanıcı logoff oluyor.

Set oShell = Wscript.CreateObject(“Wscript.Shell”)
kullanici = oShell.ExpandEnvironmentStrings(“%USERNAME%”)
masaustu = oShell.SpecialFolders(“MyDocuments”)
tamyol= “””” &  masaustu & “\” & kullanici &  “.txt” & “”””
komut = “cmd /K ipal.exe > ” & tamyol &  ” & exit”
oShell.run (komut)
tamyol2=masaustu & “\” & kullanici &  “.txt”
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
Set objFile = objFSO.OpenTextFile(tamyol2, ForReading)
Const ForReading = 1
ip=objFile.ReadLine
Dim arrFileLines()
objFile.Close
MyArray = Split(ip, “: “, -1, 1)
ip=MyArray(1)
ip=Mid(ip, 1, 7)
if ip = “10.0.5.” then
msgbox “Localden geliyor”
else
oShell.run (“logoff”)
end if

Visual Basic :Net ile WMI kullanarak EtkiAlanı/Yerel Donanım envanterimizi almak

Donanım takip yazılımı yazarken aralarda kalmış olan bilgisayar donanımlarının alınması işlemini boş vaktimde tamamladım.

Domain üzerinde bağlantı bilgileri girilerek uzaktaki domain üyesinin envanteri alınabilir.

Programın yapabildikleri.

İşlemci , fiziksel işlemci , mantıksal işlemci adedi
en fazla ram desteği, anakartta kaç slot olduğu, hangi slotlarda hangi mhz ramlerin yer aldığı
Fiziksel diskler, partition yapıları, mantıksal diskler
Cd Sürücüler, tipleri
ekran kartları , ramleri
Yazıcılar, yazıcıların bağlı olduğu port,destekledikleri kağıt boyutları
Paylaşımlar, paylaşımların yolları, paylaşım çeşitleri
Ağ : DNS,IP,Gateway bilgileri
Seri, parallel port sayısı
Bilgisayarın üzerindeki slotlar ve tümleşik kartlar
 

 

Eğer uzaktaki bilgisayarın konfigürasyonunu alırken aşağıdaki hatayı alırsanız

The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)

Client üzerindeki firewall açık durumda olmasından kaynaklanıyor. Client üzerinde aşağıdaki komutları çalıştırarak başarılı bir şekilde konfigürasyonu alabiliriz.

netsh.exe firewall set service type=REMOTEADMIN mode=ENABLE scope=ALL
netsh firewall add portopening protocol=tcp port=135 name=DCOM_TCP135

program kodları yazının devamında

  Okumaya devam et “Visual Basic :Net ile WMI kullanarak EtkiAlanı/Yerel Donanım envanterimizi almak”