Haz 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
%COMSPEC% /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.)

%COMSPEC% /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.

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

%COMSPEC% /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.

%COMSPEC% /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("%COMSPEC% /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…»

Nis 12

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. 

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

Nis 9

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

Nis 8

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

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

Nis 4

Tüm bilgi işlemcilerin ihtiyacı olan sistemdeki virüsleri alternatif antivirüs ile taramak, virüsten dolayı açıldığında antivirüs kurulmasına müsaade etmeyen sistemlere antivirüs kurmak için genelde açılış cd leri kullanarak BartPE veya Linux tabanlı dağılımlardan(Hiren,Antivir Resque CD,Diğer Live Cdler) birini kullanırız.

En güncel açılış Cd sini bulmak bir hayli zor. Bulduklarınızın üzerinde genelde 3-4 ay öncesinin virüs veritabanı yüklü geliyor. Biz ise kendimiz indirdiğimiz kaspersky emergency programını güncelleyerek kendi boot cd mizi oluşturacağız.

İhtiyaçlar
1-KasperSky Emergency Cd 2009 http://dnl-eu10.kaspersky-labs.com/devbuilds/RescueDisk/ adresinden kav_rescue_2008.iso dosyasını indirelim.
2-Bir bilgisayar (Sanal fiziksel fark etmez)
3-Eğer fiziksel ise boş bir cd
4-İnternet bağlantısı ve dhcp sunucu
5-Iso editor (Magic ISO vb.)

Adresten iso dosyasını indirip sanal /fiziksel bilgisayarımıza takarak kasperskyı başlatalım. Açıldıktan sonra update sekmesine geçip kaspersky antivirüs 2009 u güncelleyelim.

Sonra File Editörü açalım
kaspersky-emergency-2009-update-0

/var/kl/bases_rd klasörünü veya klasörü içinekileri kopyalayalım
 kaspersky-emergency-2009-update-1

Sonra /discs/C:/ içerisine yapıştıralım.( C yerine orada bulunan diğer sürücülerinize kopyalayabilirsiniz.)
kaspersky-emergency-2009-update-2

Sonra Sanal/fiziksel bilgisayarımızı Kaspersky cd mizi çıkartarak yeniden başlatalım.

daha önce indirdiğimiz içerisinde güncel virüs veritabanı olmayan iso dosyamızı herhangi bir ISO editör programı ile açalım. Ben Magic ISO kullandım.
kaspersky-emergency-2009-update-3

Iso dosyamızın içerisindeki bases klasörüne tıklayalım. Biraz önce kasperskyı başlatarak güncelleyip kopyaladığımız dosyaları bases klasörünün üzerine sürüklyerek bırakalım

dosyaların olduğuna dair uyarı gelecektir Yes to all diyerek hepsini yeni dosyalar ile değiştirelim.
kaspersky-emergency-2009-update-4

Iso dosyamızı kayıt edelim. Artık kullanıma hazır.  Cd ye yazarak istediğimiz bilgisayar üzerinde güncel veritabanı ile tarama yapabiliriz.

Not: Tarama işlemi başlatırken varsayılan olarak kaspersky sıkıştırılmış dosyaların içerisini taramamakta. Eğer değiştirmek isterseniz
Settings bölümünden Scan seçeneğine tıklayalım sağ bölümdeki settings e tıklayalım. Scan all archives seçeneğini işaretleyerek taramayı başlatalım.

Şub 20

Windows 2008 x64 üzerine IIS7 standart kurulumunu gerçekleştirdim. asp dosyalarının çalışmalarında bir problem yokken veritabanı kullanan sayfalarda hata ile karşılaştım.

kodlar
dim conn
set conn=server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.MapPath("vt.mdb"))

hata mesajı
ADODB.Connection error '800a0e7a'
Provider cannot be found. It may not be properly installed.
/Default.asp, line

diğer bağlantı yöntemini denediğimde ise
kodlar
Dim Connection
set Connection = server.createobject("adodb.connection")
Connection.open("driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("vt.mdb"))

hata mesajı
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/Default.asp, line

ikinci hata mesajından sonra sorunun ODBC driverlarından olduğu çıktı ortaya. Bu sefer MDAC güncel sürümünün x64 sürümü yokmuş.

Bu yüzden IIS7 64bit olarak çalışırken 64bit mdac sürücüleri olmadığından hata ile karşılaşıyoruz.

Bu hatayı aşmak için IIS7 nin 32 bit uyumlu modda çalışması gerekiyor.
IIS7 mizi 32 bit uyumlu moda geçirmek için: Başlat – Çalıştır
cscript c:\inetpub\adminscripts\adsutil.vbs SET /w3svc/AppPools/Enable32BitAppOnWin64 True

Eğer IIS7 mizin 32 bit uyumluluk modunu kapatacaksak
cscript c:\inetpub\adminscripts\adsutil.vbs SET /w3svc/AppPools/Enable32BitAppOnWin64 False

scriptlerini çalıştırmalıyız.Scriptleri uyguladıktan sonra IIS7 yi restart etmenizde gerek yok.

Scriptlerin çalışıp çalışmadığını görmek için komut istemi (cmd.exe) üzerinde çalıştırırsak işlemin gerçekleşip gerçekleşmediğini izleyebiliriz. işlemi çalıştırdığımızda
32 bit uyumluluğu kapatmışsak
Enable32BitAppOnWin64 : (BOOLEAN) False
32 bit uyumluluğu açmışsak
Enable32BitAppOnWin64 : (BOOLEAN) True
çıktılarını görmeliyiz.
Bu çıktılar yerine
Input Error: Can not find script file "c:\inetpub\adminscripts\adsutil.vbs".
uyarısını alıyorsanız IIS 6 Scripting Tools servisi IIS 7 rolünün kurulumu yaparken yüklememişsiniz demektir.

Yüklemek için Server Manager konsolunu açalım
server_manager_2

Add Role Services seçeneğine tıkladıktan sonra IIS 6 Scripting Tools Rol Servisini ekleyelim
server_manager_3

Şub 20

Wordpress veya bazı web sayfalarında kullanılan dil dosyaları kullanılmakta.  Po uzantılı bir dosyayı notdefteri üzerinde düzenleyebiliriz ancak bunu mo formatına çevirmek veya mo uzantılı dosyayı po formatına çevirmek için poedit (indirmek için http://www.poedit.net/download.php) programına ihtiyacımız var. Po dosyalarını indirdiğimiz poedit programı ile de düzenleyebiliriz.

Herhangi bir mo uzantılı dosyayı düzenlemek için po dosyasıne çevirmek.

msgunfmt cevirecegimizdosya.mo > cikarilacakisim.po
(msgunfmt dosyası “%programfiles%\Poedit\bin” dizininde bulunuyor)

Düzenlediğimiz po dosyasını mo dosyasına dönüştürmek.
msgfmt -cv -o kaydedilecekdosya.mo duzenledigimizdosya.po

Şub 19

Bugünde denemelerimi Hyper-V üzerinde yaptım. Ancak Vmware Workstationa göre hoşuma gitmeyen birşeyler var.

Benim gibi sürekli sistem üzerinde sanal makine kullanmayacak ihtiyaç olduğunda çalıştırıp test edip kapatacaklar için Hyper-V pek kullanışlı değil. Kurduktan sonra sistemde kasılmalar başladı. 1.5Gb ram olan sistemi yormaya başladı. O yüzden kısa testlerimden  sonra Hyper-V rolünü sistemimden kaldırdım. Belki lisanslama olarak çok daha ucuz ama sürekli kullanmayacaklar için  Virtual PC veya Vmware daha kullanışlı.

Vmware üzerinde çalışan makinemi Hyper-V üzerine aktarmak isterseniz eğer

Aşağıdaki websitesinde yer alan adımları takip ederek Hyper-V ye aktarabilirsiniz http://searchservervirtualization.techtarget.com/tip/0,289483,sid94_gci1225164,00.html?asrc=SS_CLA_303373&psrc=CLT_94

Vmwarede çalışan sistemi değilde sadece harddisk dosyamı VHD formatına çevirmek istiyorum derseniz

Aşağıdaki adreste ki VMDK to VHD converter aracını indirerek vmdk uzantılı vmware dosyalarınızı vhd formatına çevirebilirsiniz.
http://vmtoolkit.com/files/folders/converters/entry8.aspx

Vmware Workstation ile aradaki farklardan göze çarpanlar

Vmwaredeki gibi boot sıralamasını değiştirmek için Setup ayarlarına girmek ile uğraşmıyorsunuz

Hyper-V üzerinde çalışan sanal sistemlere ekran bağlantısı kurmak epey yavaş, bağlantı ekranı o anki ekran çözünülürlüğü ne ise orada kalıyor (tam ekran yapamıyorsunuz), sanal sistemi yönetirken fiziksel makinemize geçiş yapmak için CTRL + ALT + Sol yön tuşu kombinasyonu kullanmak biraz zahmetli ve bunu istediğimiz bir kombinasyon ile değiştiremiyoruz sadece birkaç seçenek ile sınırlamışlar.

Vmware üzerinde fiziksel bir diski hem o an kullandığımız fiziksel makine hem de vmware kullanabilirken hyper-V sadece partition oluşturulmamış bir fiziksel diski kullanabiliyor.

şu anlık aklıma gelenler bunlar.
can sıkıntısına blog işi sardı :) kendin yaz kendin oku.

« Önceki 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