Jun 26

Envanter yazılımına bir bölüm daha ekledim. Bilgisayara bağlı olan Monitörün registry üzerinde kayıtlı olan EDID (Extended display identification data) bilgilerinden yararlanarak Serino,model,üretim tarihi,ölçüleri ve kaç inç olduğu gibi bilgilere erişebiliyoruz. Detaylı bilgi için VESA E-EDID™ Implementation Guide ı kullanabilirsiniz.

Imports System.Management
Imports System.Text
Imports Microsoft.Win32
Imports System.Net.NetworkInformation
Public Class Form1
Dim strmodel As String = “”
Dim strmodel2 As String = “”
Dim strserino As String = “”
Dim regedithex As String = “”
Dim struretimhaftasi As String = “”
Dim struretimyili As String = “”
Dim strdikey, stryatay As Integer
Dim strmonitorinc As Double
Private Function ByteArrayToString(ByVal ba As Byte()) As String
Dim hex As New StringBuilder(ba.Length * 2)
For Each b As Byte In ba
hex.AppendFormat(“{0:x2}”, b)
Next
Return hex.ToString()
End Function
Yazının tamamını okumak için tıklayın…»

May 29

Ağ üzerinde gün içerisinde networke dahil olmuş bilgisayarların hangi switchler üzerinden sisteme dahil olduklarını bulmak için yazdığım bir uygulama.

Uygulamanın çalışma mantığı:
Çalıştırıldığı dizinde 2 adet dosyaya ihtiyaç duyuyor ayarlar.ini ve switchler.txt. Switchler.txt switchlerin ip leri yer almakta. ayarlar.ini dosyasında ise switchlerin şifreleri (hepsi ortak olmalı), Çalıştırılacak komut (sh mac-address-table), database bilgileri ve filtreleme, loglama yapılacak mı gibi bilgiler girilmeli.

Loglama yapılacak seçilirse çalıştırıldığı dizinde Log klasörünün içerisine switchlerin konsollarından gelen verileri ve filtreleme sonucu oluşan dosyaların çıktıları yer almakta.

Filtreleme mantığı ise her switch uplink ve downlinkleri üzerinden bir çok kendi üzerinde olmayan mac adresinin database üzerine kayıt edilmesini engellemek için gerekli olan kısım. Benim örneğimde Fa (Fast Ethernet) ve Lo (Long Reach Ethernet) portlarındaki mac adreslerini almak için filtre girilmiş durumda.  En fazla 3 adet filtre için geliştirdim.

Program kısaca Cisco switchlere telnet bağlanıp Fa,Lo portlarındaki bilgilerin alınıp veritabanına kayıt edilmesini sağlıyor. İsterseniz zamanlamayı açıp her 120 saniyede bir tekrar liste almasını ve değişenleri yazmasını sağlayabilirsiniz.

SQL için aşağıdaki alanlara ihtiyaç duyulmakta;

DROP TABLE IF EXISTS `mac`;
CREATE TABLE `mac` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`switch` text,
`mac` text,
`vlanid` text,
`tarama` datetime DEFAULT NULL,
`port` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=507 DEFAULT CHARSET=utf8;

VB.Net Telnet Uygulaması (vs2005)

Zip açma şifresi : notsayfam.com

May 11

XP Sp2,Vista SP ve W7 desteği olan ücretsiz iso kayıt programı.
http://isorecorder.alexfeinman.com/isorecorder.htm

Kuruluma ihtiyaç duymayan
Data,Audio,Video CD/DVD desteği olan
http://www.amok.am/en/freeware/amok_cd-dvd_burning/download/
Bir başka yazılım

Güncelleme: Normal kullanıcıların tüm işini görebilecek Neronun ücretsiz versiyonunu da var.
Nero Lite http://www.nero.com/eng/downloads-nbl-free.php

Apr 25

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.

Feb 5

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.

Feb 5

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

Nov 23

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.

Jun 15

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 🙂

May 25

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

May 4

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

Yazının tamamını okumak için tıklayın…»

« Önceki Yazılar Sonraki Yazılar »



Bu site en iyi internet explorer 7 ve firefox üzerinde görüntülenebilir. Sitemap Mustafa KULLUKÇU
Powered by Wordpress.org     Wordpress tema