<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Solution for Your Systems &#187; script</title>
	<atom:link href="http://www.ceyhuncamli.com/index.php/tag/script/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ceyhuncamli.com</link>
	<description></description>
	<lastBuildDate>Thu, 09 Sep 2010 03:23:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Active Directory Script’leri</title>
		<link>http://www.ceyhuncamli.com/index.php/2009/05/31/active-directory-scriptleri/</link>
		<comments>http://www.ceyhuncamli.com/index.php/2009/05/31/active-directory-scriptleri/#comments</comments>
		<pubDate>Sun, 31 May 2009 12:11:16 +0000</pubDate>
		<dc:creator>ceyhun çamlı</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.ceyhuncamli.com/?p=557</guid>
		<description><![CDATA[Script konusundaki makalelerin üçüncüsü ile script konusunu tamamlamayı düşünüyorum. Active Directory scriptlerinin amacı tipik yönetim işlemlerine yardımcı olmaktır. Belki daha kolay yapmaktır. Ancak yine de yönetime biraz programcı açısından bakmak gerekebilir. Örneğin kullanıcıları bir yerden transfer etmek ve yaratmak gibi.

Administrative Script'ler

Belli yönetim işlemleri (administrative tasks) scriptler aracılığıyla yapılır.

Örnek:

Kullanıcı, grup, OU ve diğer Active Directory bileşenlerini yaratmak, değiştirmek ve silmek.
Bilgisayarları yapılandırmak.
Dosyaları, klasörleri ve diskleri yönetmek.
..........
]]></description>
			<content:encoded><![CDATA[<p>Script konusundaki makalelerin üçüncüsü ile script konusunu tamamlamayı düşünüyorum. Active Directory scriptlerinin amacı tipik yönetim işlemlerine yardımcı olmaktır. Belki daha kolay yapmaktır. Ancak yine de yönetime biraz programcı açısından bakmak gerekebilir. Örneğin kullanıcıları bir yerden transfer etmek ve yaratmak gibi.</p>
<p><strong>Administrative Script&#8217;ler</strong></p>
<p>Belli yönetim işlemleri (administrative tasks) scriptler aracılığıyla yapılır.</p>
<p>Örnek:</p>
<ul>
<li>Kullanıcı, grup, OU ve diğer Active Directory bileşenlerini yaratmak, değiştirmek ve silmek.</li>
<li>Bilgisayarları yapılandırmak.</li>
<li>Dosyaları, klasörleri ve diskleri yönetmek.</li>
<li>&#8230;&#8230;&#8230;.</li>
</ul>
<p>Windows Server 2003 ailesinde iki script ortamı vardır:</p>
<ul>
<li>Komut işleyici</li>
<li>Windows Script Host<strong> (WSH)</strong></li>
</ul>
<p>Komut işleyici (command processor) komutları içeren dosyaları çalıştırır. Batch dili olarak da adlandırılan bu yöntemde belli komutlar kullanıldığı için kısıtlıdır. Ancak eski işletim sistemleri tarafından da desteklenmektedir.</p>
<p>Windows Script Host, scriptlerin çalışması için bir ortam yaratır. Diğer bir değişle değişik script dillerini destekleyen script enginidir. JScript ve VBScript&#8217;i destekler.</p>
<p>Örneğin VBScript ya da Jscript komutları Active Directory Service Interfaces (ADSI) verilerine erişerek nesneleri yönetilmesini. Ayrıca Management Instrumentation (WMI) ile iletişim kurarak da sistem kaynaklarına erişmeyi sağlar.</p>
<p>İki script dilinin yanı sıra WSH iki programı da destekler: WScript.exe ve CScript.exe.</p>
<p>Active Directory&#8217;ye erişmek kullanılan yapı:</p>
<p><strong>Set objOU = GetObject(<a href="ldap://OU=deneme,dc=fc-holding,dc=com">LDAP://OU=ornek,dc=ceyhun,dc=com</a>)</strong></p>
<p><strong>Bilgisayar kaydı eklemek:</strong></p>
<p><strong>&#8216; yeni bilgisayar kaydi yaratmak </strong></p>
<p>dim biladi</p>
<p>biladi = inputbox(&#8220;bilgisayar adini girin&#8221;)</p>
<p>Set objRootDSE = GetObject(&#8220;LDAP://rootDSE&#8221;)</p>
<p>Set objContainer = GetObject(&#8220;LDAP://cn=Computers,&#8221; &amp; _</p>
<p>    objRootDSE.Get(&#8220;defaultNamingContext&#8221;))</p>
<p>Set objComputer = objContainer.Create _</p>
<p>    (&#8220;Computer&#8221;, &#8220;cn=&#8221; &amp; biladi)</p>
<p>objComputer.Put &#8220;sAMAccountName&#8221;, biladi &amp; &#8220;$&#8221;</p>
<p>objComputer.SetInfo</p>
<p> </p>
<p><strong>Diğer bir örnek:</strong></p>
<p>Dim biladi</p>
<p>Dim ouadi</p>
<p>biladi = inputbox(&#8220;bilgisayar adı&#8221;)</p>
<p>ouadi = inputbox(&#8220;OU adi&#8221;)</p>
<p>Set objou = GetObject(&#8220;LDAP://dc=ceyhun,dc=com&#8221;)</p>
<p>Set objcomputer = objOU.Create(&#8220;computer&#8221;,&#8221;cn=&#8221; &amp; biladi,&#8221;cn=&#8221;, ouadi )</p>
<p>objComputer.Put &#8220;saMAccountName&#8221;, &#8220;biladi&#8221;</p>
<p>objComputer.SetInfo</p>
<p><strong>Kullanıcı hesabı yaratmak (1):</strong></p>
<p><strong>&#8216;yeni kullanıcı yaratmak</strong></p>
<p>dim kullanici</p>
<p>kullanici = inputbox (&#8220;yaratacaginiz kullanici&#8221;)</p>
<p>Set objou = GetObject(&#8220;LDAP://OU=satisOU,dc=ceyhun,dc=com&#8221;)</p>
<p>set objuser = objou.Create(&#8220;user&#8221;,&#8221;cn=&#8221; &amp; kullanici)</p>
<p>objuser.put  &#8220;saMAccountName&#8221;, kullanici</p>
<p>objuser.setinfo</p>
<p>objuser.accountdisabled = false</p>
<p>objuser.setinfo</p>
<p><strong>Kullanıcı hesabı yaratmak (2):</strong></p>
<p>Dim kullanici</p>
<p>kullanici= inputbox(&#8220;Kullanıcı Adını Girin?&#8221;)</p>
<p>Set objOU = GetObject(&#8220;LDAP://OU=ornek,dc=ceyhun,dc=com&#8221;)</p>
<p>Set objUser = objOU.Create(&#8220;User&#8221;,&#8221;cn=&#8221; &amp; kullanici)</p>
<p>objUser.Put &#8220;sAMAccountName&#8221;, kullanici</p>
<p>objUser.SetInfo</p>
<p><strong>Kullanıcı hesabı yaratmak (3):</strong></p>
<p>set nesne=getobject (&#8220;LDAP://dc=ege, dc=ceyhun, dc=com&#8221;)</p>
<p>set kullanici = nesne.create(&#8220;user&#8221;,&#8221;cn=ceyhun&#8221;)</p>
<p>kullanici.put &#8220;sAMAccountName&#8221;, &#8220;ceyhun&#8221;</p>
<p>kullanici.SetInfo</p>
<p><strong>REM nesne adlarının büyük-küçük harf olması önemli!!!</strong></p>
<p><strong>Kullanıcı hesabı yaratmak (Ekrandan istemeden):</strong></p>
<p>Set objOU = GetObject(&#8220;LDAP://OU=ceyhunOU,dc=ceyhun,dc=com&#8221;)</p>
<p>Set objUser = objOU.Create(&#8220;User&#8221;, &#8220;cn=ornek2&#8243;)</p>
<p>objUser.Put &#8220;sAMAccountName&#8221;, &#8220;ornek2&#8243;</p>
<p>objUser.SetInfo</p>
<p> <strong>Kullanıcı password&#8217;ünü değiştirmek:</strong></p>
<p> Set objUser = GetObject _</p>
<p>    (&#8220;LDAP://cn=ceyhun,ou=ceyhunOU,dc=ceyhundc=com&#8221;)</p>
<p>objUser.ChangePassword &#8220;Password100&#8243;, &#8220;Password100WKG&#8221;</p>
<p> </p>
<p><strong>Kullanıcı hesabını Enable etmek:</strong></p>
<p>Set objUser = GetObject (&#8220;LDAP://cn=ornek2,ou=ceyhunOU,dc=ceyhun,dc=com&#8221;)</p>
<p>objUser.AccountDisabled = FALSE</p>
<p>objUser.SetInfo</p>
<p> <strong>Kullanıcının password&#8217;ünü değiştirmek:</strong></p>
<p> Set objUser = GetObject _</p>
<p>    (&#8220;LDAP://cn=ali,ou=muhasebe,dc=ceyhun,dc=com&#8221;)</p>
<p>objUser.ChangePassword &#8220;Ax15YZxc&#8221;, &#8220;AliPassword100&#8243;</p>
<p><strong> </strong></p>
<p><strong>Toplu kullanıcı kaydı oluşturmak: </strong></p>
<p><strong>İşci1&#8242;den başlamak üzere n tane İşçi kullanıcı kaydı oluşturmak için:</strong></p>
<p>Set objRootDSE = GetObject(<a href="ldap://rootDSE">LDAP://rootDSE</a>)</p>
<p>Set objContainer = GetObject(&#8220;LDAP://cn=Users,&#8221; &amp; _</p>
<p>    objRootDSE.Get(&#8220;defaultNamingContext&#8221;))</p>
<p>For i = 1 To 50</p>
<p>    Set objLeaf = objContainer.Create(&#8220;User&#8221;, &#8220;cn=Isci&#8221; &amp; i)</p>
<p>    objLeaf.Put &#8220;sAMAccountName&#8221;, &#8220;Isci&#8221; &amp; i</p>
<p>    objLeaf.SetInfo</p>
<p>Next</p>
<p>WScript.Echo &#8220;50 kullanici kaydi yaratilmistir&#8221;</p>
<p><strong> </strong></p>
<p><strong>Grup hesapları: </strong></p>
<p><strong>Bir Global group yaratmak:</strong></p>
<p>Set objOU = GetObject(&#8220;LDAP://OU=FC-OU1,dc=ceyhun,dc=com&#8221;)</p>
<p>Set objGroup = objOU.Create(&#8220;Group&#8221;, &#8220;cn=muhasebeciler&#8221;)</p>
<p>objGroup.Put &#8220;sAMAccountName&#8221;, &#8220;muhasebeciler&#8221;</p>
<p>objGroup.SetInfo</p>
<p><strong>Grup hesabını silmek:</strong></p>
<p>Set objOU = GetObject(&#8220;LDAP://ou=istanbulOU,dc=ceyhun,dc=com&#8221;)</p>
<p>objOU.Delete &#8220;group&#8221;, &#8220;muhasebe&#8221;</p>
<p><strong>OU ile ilgili scriptler: </strong></p>
<p><strong>Bir OU yaratmak:</strong></p>
<p>Set objDomain = GetObject(&#8220;LDAP://dc=ceyhun,dc=com&#8221;)</p>
<p>Set objOU = objDomain.Create(&#8220;organizationalUnit&#8221;, &#8220;ou=Muhasebe&#8221;)</p>
<p>objOU.SetInfo</p>
<p><strong>OU Silmek:</strong></p>
<p>Set objDomain = GetObject(<a href="ldap://dc=ceyhun,dc=com">LDAP://dc=ceyhun,dc=com</a>)</p>
<p>objDomain.Delete &#8220;organizationalUnit&#8221;, &#8220;ou=Satis&#8221;</p>
<p><strong>Bilgisayar (Computer) hesabıyla ilgili scriptler: </strong></p>
<p><strong>Bilgisayar kaydı yaratmak:</strong></p>
<p>Set objCompt = _</p>
<p>    GetObject(&#8220;LDAP://cn=Computers,dc=ceyhun, dc=com&#8221;)</p>
<p>Set objComptCopy = objCompt.Create(&#8220;computer&#8221;, &#8220;cn=ceyhunpc&#8221;)</p>
<p>objComptCopy.Put &#8220;sAMAccountName&#8221;, &#8220;ceyhunpc&#8221;</p>
<p>objComptCopy.SetInfo</p>
<p><strong>Bilgisayar kaydını silmek:</strong></p>
<p>strComputer = &#8220;bilgisayar01&#8243;</p>
<p>set objComputer = GetObject(&#8220;LDAP://CN=&#8221; &amp; strComputer &amp; _</p>
<p>                            &#8220;,CN=Computers,DC=ceyhun,DC=com&#8221;)</p>
<p>objComputer.DeleteObject (0)</p>
<p><strong>Bilgisayarı diğer bir OU&#8217;ya taşımak:</strong></p>
<p>Set objNewOU = GetObject(&#8220;LDAP://OU=FC-OU1,DC=ceyhun,DC=com&#8221;)</p>
<p>Set objMoveComputer = objNewOU.MoveHere</p>
<p>    (&#8220;LDAP://CN= bilgisayar01,CN=FC-OU2,DC=ceyhun ,DC=com&#8221;, &#8220;CN=bilgisayar01&#8243;)</p>
<p><strong>Microsoft Excel üzerinde kod yazarak Active Directory nesnesi yaratmaya bir diğer örnek</strong>:</p>
<p>Sub Dügme1_Tiklat()</p>
<p>Dim kullanici</p>
<p>For i = 1 To 7</p>
<p>kullanici = Sheets(&#8220;sayfa1&#8243;).Cells(i, 2).Value &amp; Mid(Sheets(&#8220;sayfa1&#8243;).Cells(i, 1).Value, 1, 1)</p>
<p>&#8216; soyadi , arti adinin ilk karakteri</p>
<p>kullanici = Sheets(&#8220;sayfa1&#8243;).Cells(i, 1).Value</p>
<p>&#8216; adi</p>
<p>Set nesne1 = GetObject(&#8220;LDAP://ou=emin,dc=fc,dc=com&#8221;)</p>
<p>Set nesne2 = nesne1.create(&#8220;user&#8221;, &#8220;cn=&#8221; &amp; kullanici)</p>
<p>nesne2.put &#8220;samaccountname&#8221;, kullanici</p>
<p>nesne2.SetInfo</p>
<p>Next</p>
<p>End Sub</p>
<p><strong>Yukarıdaki kod içinde:</strong>  </p>
<p>Kullanılan deyim:</p>
<p><strong>Sheets (</strong>sayfa<strong>).Cells (</strong>satir, sütun<strong>)</strong></p>
<p>İkinci sütundan Soyadını almak için:</p>
<p><strong>Sheets(&#8220;sayfa1&#8243;).Cells(i, 2).Value</strong></p>
<p>Birinci sütundan adının ilk karakterini almak için:</p>
<p><strong>Mid(Sheets(&#8220;sayfa1&#8243;).Cells(i, 1).Value, 1, 1)</strong></p>
<p>Kodu düzenlemek için; Excel ortamında Forms (Formlar) araç çubuğu aracılığıyla bir düğme çalışma ortamına eklenir. Ardından Assign Macro (Makro Ata) iletişim kutusu aracılığıyla yeni (new) kod eklenir.</p>
<p>Umarım üç makaleden oluşan bu seride scriptlerle ilgili anlattığım konular yararlı olmuştur.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceyhuncamli.com/index.php/2009/05/31/active-directory-scriptleri/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>VBScript Veri Türleri</title>
		<link>http://www.ceyhuncamli.com/index.php/2009/05/30/vbscript-veri-turleri/</link>
		<comments>http://www.ceyhuncamli.com/index.php/2009/05/30/vbscript-veri-turleri/#comments</comments>
		<pubDate>Sat, 30 May 2009 05:24:21 +0000</pubDate>
		<dc:creator>ceyhun çamlı</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.ceyhuncamli.com/?p=553</guid>
		<description><![CDATA[Daha önceki makalemizde script nedir ve naıl çalıştırılırVBScript'in tek bir veri türü vardır. Bu da Variant'tır. Variant,  özel bir veri türüdür ve değişik türdeki verileri (sayı, karakter dizisi gibi) verileri içerir. Variant tek bir veri türü olduğu için bütün işlevler tarafından da döndürülen veri türüdür.

 Variant bütün veri tiplerini içeren ve aynı zamanda uygun biçimde kullanılmalarını sağlayan bir veri türüdür. Aşağıdaki tabloda Variant veri türünün içerdiği alt veri türleri yer almaktadır:

 Tablo: Variant veri türünün içerdiği alt veri türleri

]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Script nedir ve naıl çalıştırılır adlı ilk makelemizin ardından scriptlerle ilgili ikinci makalemizle scriptler konusuna devam ediyoruz. VBScript&#8217;in tek bir veri türü vardır. Bu da Variant&#8217;tır. Variant,  özel bir veri türüdür ve değişik türdeki verileri (sayı, karakter dizisi gibi) verileri içerir. Variant tek bir veri türü olduğu için bütün işlevler tarafından da döndürülen veri türüdür.</p>
<p> Variant bütün veri tiplerini içeren ve aynı zamanda uygun biçimde kullanılmalarını sağlayan bir veri türüdür. Aşağıdaki tabloda Variant veri türünün içerdiği alt veri türleri yer almaktadır:</p>
<p> Tablo: Variant veri türünün içerdiği alt veri türleri</p>
<p> <strong><span style="text-decoration: underline;">Alt Türler         Anlamı                                                                                                           </span></strong></p>
<p><strong>Empty</strong>              Değer atanmamış. Sayısal verileri için sıfır, karakter değerleri için ise sıfır  uzunluklu &#8221; &#8221; değerdir.</p>
<p><strong>Null</strong>                 Boş veri.</p>
<p><strong>Boolean</strong>           True ya da False içerir.</p>
<p><strong>Byte</strong>                 0 ile 255 arasında değerler.</p>
<p><strong>Integer</strong>           -32,768 ile 32,767 arasında tamsayı değer.</p>
<p><strong>Long</strong>               -2,147,483,648 ile 2,147,483,647 arasında sayısal değer.</p>
<p><strong>Double</strong> 1         .79769313486232E308 ile -4.94065645841247E-324 arasında sayısal   (kayan noktalı) değer.</p>
<p><strong>Date</strong> (<strong>Time</strong>)      January 1, 100 ile December 31, 9999 tarihleri arasında tarih değeri.</p>
<p><strong>Object</strong>              Bir nesne içerir.</p>
<p><strong>Error</strong>                Bir hata numarası içerir.</p>
<h3>VBScript&#8217;de Operatörler</h3>
<p style="TEXT-ALIGN: justify">Operatörler (işleçler) hem karar vermede ilişkileri oluştururlar hem da aritmetik işlemlerde kullanılırlar. Birçok operatörün bir arada kullanılması durumunda işlem sırası operatörlerin öncelik sırasına göre düzenlenir. Ancak ifadelerde parantezlere yer vermek işlem sırasının programcı tarafından kontrol edilmesini sağlar.</p>
<p style="TEXT-ALIGN: justify">Değerler ya da değişkenler arasında toplama, çıkarma gibi işlemlerin yapılmasını sağlarlar. İşleçler +, *, /, &#8211; gibi işaretlerle kullanılır.</p>
<p><strong>Dim toplam</strong></p>
<p><strong>toplam = toplam + 1</strong></p>
<p>toplam değişkenini bir artırır.</p>
<p> Tablo: işleçler ve öncelikleri</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="189" valign="top"><strong>Aritmetik</strong></td>
<td width="189" valign="top"><strong>Karşılaştırma</strong></td>
<td width="189" valign="top"><strong>Mantıksal</strong></td>
</tr>
<tr>
<td width="189" valign="top">Üs alma (^)</td>
<td width="189" valign="top">Eşitlik (=)</td>
<td width="189" valign="top">Not</td>
</tr>
<tr>
<td width="189" valign="top">Olumsuz (-)</td>
<td width="189" valign="top">Eşitsizlik (&lt;&gt;)</td>
<td width="189" valign="top">And</td>
</tr>
<tr>
<td width="189" valign="top">Çarpma ve bölme (* , /)</td>
<td width="189" valign="top">Küçüktür (&lt;)</td>
<td width="189" valign="top">Or</td>
</tr>
<tr>
<td width="189" valign="top">Tamsayı bölme (\)</td>
<td width="189" valign="top">Büyüktür (&gt;)</td>
<td width="189" valign="top">Xor</td>
</tr>
<tr>
<td width="189" valign="top">Modülo Aritmetik (Mod)</td>
<td width="189" valign="top">Küçük ya da eşittir (&lt;=)</td>
<td width="189" valign="top">Eqv</td>
</tr>
<tr>
<td width="189" valign="top">Toplama ve çıkarma (+,-)</td>
<td width="189" valign="top">Büyük ya da eşittir (&gt;=)</td>
<td width="189" valign="top">Imp</td>
</tr>
<tr>
<td width="189" valign="top">String birleştirme(&amp;)</td>
<td width="189" valign="top">Like</td>
<td width="189" valign="top"> </td>
</tr>
<tr>
<td width="189" valign="top"> </td>
<td width="189" valign="top">Is</td>
<td width="189" valign="top"> </td>
</tr>
</tbody>
</table>
<p> İfade içindeki operatörlerin eşit öncelikli olmaları durumunda; ifade soldan sağa doğru değerlendirilir.</p>
<h3> Program Kontrolü</h3>
<p style="TEXT-ALIGN: justify">Kodun işletimi yazıldığı sırasıyla gerçekleştirilir. Ancak program kontrolü olarak adlandırılan deyimlerle bu işleyiş değiştirilebilir. Böylece program içinde belli kararlara göre yapılabilecek farklı işlemler ortaya çıkar.</p>
<p style="TEXT-ALIGN: justify"><strong> If&#8230;Then&#8230;Else</strong></p>
<p style="TEXT-ALIGN: justify">If&#8230;Then&#8230;Else deyimi bir koşulun True (doğru) ya da False (yanlış) olmasını değerlendirmek için kullanılır. Buna bağlı olarak bir ya da daha fazla deyimin çalıştırılmasını sağlar. Genellikle koşul bir karşılaştırma ifadesiyle bir değeri ya da değişkeni diğerine göre karşılaştırır.</p>
<p style="TEXT-ALIGN: justify"> Koşul doğru olduğunda yalnızca bir deyimi çalıştırmak istiyorsanız, If&#8230;Then&#8230;Else deyiminin tek satırlık basit şeklini kullanırsınız: Aşağıdaki örnekte yalnızca IF ve Then kullanılmış, Else deyimi kullanılmamıştır. .</p>
<p style="TEXT-ALIGN: justify"> <strong>If sayac &gt; 12 Then Msgbox &#8220;12 değerine ulaşıldı&#8221;</strong></p>
<p style="TEXT-ALIGN: justify"><strong> Döngüler</strong></p>
<p style="TEXT-ALIGN: justify">Döngüler bir grup deyimini bir çok kez çalıştırılmasını sağlar. Örneğin son kaydı buluncaya kadar dosyada veri okumak gibi. Bazı döngüler deyimleri belli bir koşul False oluncaya kadar yineler. Bazıları ise koşul doğru oluncaya kadar. Bunun dışında deyimleri belli bir kez yinelemek için de döngü kullanılır:</p>
<p> VBScript dilindeki döngü yapıları:</p>
<p> </p>
<ul type="disc">
<li>Do&#8230;Loop: Bir koşul True olduğu sürece ya True da oluncaya kadar yineleme.</li>
<li>While&#8230;Wend: Koşul doğru olduğu sürece döngü yapmak.</li>
<li>For&#8230;Next: Deyimleri belli bir sayıda yinelemek.</li>
</ul>
<p style="TEXT-ALIGN: justify"> Do&#8230;Loop deyimlerini bir blok deyimini belli bir koşul olduğu ya da koşul sağlanıncaya kadar yineler. Ancak değişik şekillerde tasarlanabilir: </p>
<p style="TEXT-ALIGN: justify"><strong>Bir koşul doğru olduğu sürece yinelemek:</strong></p>
<p style="TEXT-ALIGN: justify">Bir Do..Loop deyimindeki koşulu kontrol etmek için While anahtar sözcüğü kullanılır. Koşulu döngüye girmeden önce ya da döngü bir kez çalıştıktan sonra çıkışta kontrol edebilirsiniz.</p>
<p> Örnek:</p>
<p><strong> </strong><strong>Dim sayac</strong></p>
<p><strong>sayac = 1</strong></p>
<p><strong>    </strong><strong>      Do </strong></p>
<p><strong>           sayac = sayac + 1</strong></p>
<p><strong>     Loop Until sayac &gt; 20</strong></p>
<p><strong>     Msgbox &#8220;döngü &#8221; &amp; sayac &amp; &#8221; kere döndü.&#8221;</strong></p>
<p> Sayac değeri 10 oluncaya kadar mesaj vermek:</p>
<p> <strong>Dim Sayac</strong></p>
<p><strong>Sayac= 10</strong></p>
<p><strong>            Do</strong></p>
<p><strong>              MsgBox &#8220;FC-Scripting&#8221;</strong></p>
<p><strong>              Sayac = Sayac + 1</strong></p>
<p><strong>            Loop Until Sayac = 10</strong></p>
<p style="TEXT-ALIGN: justify"><strong> </strong><strong>Deyimleri bir koşul doğru oluncaya kadar yinelemek:</strong></p>
<p style="TEXT-ALIGN: justify">Bir Do..Loop döngüsü içinde Until sözcüğünü iki şekilde kullanarak bir koşulu test edebilirsiniz: Birincisi döngüye girmeden önce koşulun test edilmesi, ikinci ise döngüye girildikten sonra birinci işleyişin ardında koşulun test edilmesi gibi.</p>
<p style="TEXT-ALIGN: justify"> <strong>For&#8230;Next Kullanımı</strong></p>
<p style="TEXT-ALIGN: justify">For&#8230;Next deyimleri bir blok deyimin belli bir sayı kadar çalıştırılmasını sağlar. Örneğin 10 kere yapılacak işlemleri değer = 1&#8242;den başlayarak 10 kere yapmak gibi.</p>
<p> Örnek:</p>
<p> <strong>     Dim i, toplam</strong></p>
<p><strong>     For i = 1 To 10</strong></p>
<p><strong>         toplam= toplam + i</strong></p>
<p><strong>     Next</strong></p>
<p><strong>     MsgBox &#8220;Toplam = &#8221; &amp; toplam</strong></p>
<p style="TEXT-ALIGN: justify"> Yukarıdaki örnekte i değişkeni döngü kontrol değişkeni olarak adlandırılır. Bu değişken (i) döngünün kaç kez döneceğini ve aynı zamanda kendi değerinin de bilgi olarak kullanılabilmesini sağlar.</p>
<p style="TEXT-ALIGN: justify"><strong>VBScript Deyimleri</strong></p>
<p style="TEXT-ALIGN: justify">VBScript dilinde çok sayıda deyim vardır. Bunlar şu kategoriler içinde listeleyebiliriz:<br />
 </p>
<p><strong>Array (dizi) İşlemleri </strong></p>
<p> Dim, Private, Public, ReDim</p>
<p>IsArray</p>
<p>Erase</p>
<p>LBound, UBound</p>
<p> <strong>Atamalar</strong></p>
<p>Set</p>
<p> <strong>Sabitler</strong></p>
<p>Nothing</p>
<p>Null</p>
<p>True, False</p>
<p>Empty</p>
<p>False</p>
<p>Nothing</p>
<p>Null</p>
<p>True </p>
<p> <strong>Program Kontrolü</strong></p>
<p>Do&#8230;Loop</p>
<p>For&#8230;Next</p>
<p>For Each&#8230;Next</p>
<p>If&#8230;Then&#8230;Else</p>
<p>Select Case</p>
<p>While&#8230;Wend</p>
<p>With </p>
<p><strong>Dönüşümler</strong></p>
<p>Abs</p>
<p>Asc, AscB, AscW</p>
<p>Chr, ChrB, ChrW</p>
<p>CBool, CByte</p>
<p>CCur, CDate</p>
<p>CDbl, CInt</p>
<p>CLng, CSng, CStr</p>
<p>DateSerial, DateValue</p>
<p>Hex, Oct</p>
<p>Fix, Int</p>
<p>Sgn</p>
<p>TimeSerial, TimeValue</p>
<p> <strong>Tarih/Saat</strong></p>
<p>Date, Time</p>
<p>DateAdd, DateDiff, DatePart</p>
<p>DateSerial, DateValue</p>
<p>Day, Month, MonthName</p>
<p>Weekday, WeekdayName, Year</p>
<p>Hour, Minute, Second</p>
<p>Now</p>
<p>TimeSerial, TimeValue</p>
<p> <strong>Tanımlamalar</strong></p>
<p>Class</p>
<p>Const</p>
<p>Dim, Private, Public, ReDim</p>
<p>Function, Sub</p>
<p>Property Get, Property Let, Property Set</p>
<p><strong>Hata İşleme</strong></p>
<p>On Error</p>
<p>Err </p>
<p> <strong>Formatlama </strong></p>
<p>FormatCurrency</p>
<p>FormatDateTime</p>
<p>FormatNumber</p>
<p>FormatPercent </p>
<p> <strong>Giriş/Çıkış</strong></p>
<p>InputBox</p>
<p>LoadPicture</p>
<p>MsgBox </p>
<p> <strong>Matematik </strong></p>
<p>Atn, Cos, Sin, Tan</p>
<p>Exp, Log, Sqr</p>
<p>Randomize, Rnd</p>
<p> <strong>Nesneler (Object)</strong></p>
<p>CreateObject</p>
<p>Err Object</p>
<p>GetObject</p>
<p>RegExp </p>
<p> <strong>Operatörler </strong></p>
<p>Addition (+), Subtraction (-)</p>
<p>Exponentiation (^)</p>
<p>Modulo aritmetik (Mod)</p>
<p>Multiplication (*), Division (/)</p>
<p>Integer Division (\)</p>
<p>Negation (-)</p>
<p>String concatenation (&amp;)</p>
<p>Equality (=), Inequality (&lt;&gt;)</p>
<p>Less Than (&lt;), Less Than or Equal To (&lt;=)</p>
<p>Greater Than (&gt;)</p>
<p>Greater Than or Equal To (&gt;=)</p>
<p>Is</p>
<p>And, Or, Xor</p>
<p>Eqv, Imp</p>
<p> <strong>Prosedürler</strong></p>
<p>Call</p>
<p>Function, Sub</p>
<p>Property Get, Property Let, Property Set</p>
<p>Rounding</p>
<p> <strong>Sözcük (Strings) İşlemleri </strong></p>
<p>Asc, AscB, AscW</p>
<p>Chr, ChrB, ChrW</p>
<p>Filter, InStr, InStrB</p>
<p>InStrRev</p>
<p>Join</p>
<p>Len, LenB</p>
<p>LCase, UCase</p>
<p>Left, LeftB</p>
<p>Mid, MidB</p>
<p>Right, RightB</p>
<p>Replace</p>
<p>Space</p>
<p>Split</p>
<p>StrComp</p>
<p>String</p>
<p>StrReverse</p>
<p>LTrim, RTrim, Trim</p>
<p> <strong>Fonksiyonlar (Functions)</strong> </p>
<ul>
<li>CDate() Bir değeri tarihe dönüştürür.</li>
<li>CInt() Bir değeri tamsayıya dönüştürür.</li>
<li>CStr() Bir değeri string&#8217;e dönüştürür.</li>
<li>Date() Sistemdeki tarih bilgisini verir.</li>
<li>DateAdd() Tarihe değer ekler ve çıkarır.</li>
<li>DateDiff() İki tarih arasındaki farkı bulur.</li>
<li>DatePart() Tarih bilgisinin kısımlarını (year, day, month, vb) verir.</li>
<li>GetObject() Bir nesneyi belirtir.</li>
<li>InputBox() Ekrandan bilgi almak için.</li>
<li>InStr() Bir string bilginin diğer bir string içinde aranmasını sağlar.</li>
<li>LCase() Bir string veriyi küçük harfe çevirir.</li>
<li>Left() String bilgiler üzerinde, belirtilen sayı kadar soldan alır.</li>
<li>Len() String bilginin uzunluğunu verir.</li>
<li>MsgBox() Ekran üzerinde mesaj verir.</li>
<li>Now() Sistem zamanını verir.</li>
<li>Right() String bilgiler üzerinde, belirtilen sayı kadar sağdan alır.</li>
<li>UCase() String bilgiyi büyük harfe çevirir.</li>
</ul>
<p>Bu makalemizinde sonuna geldik. Bir sonraki makalemizde Active Directoryde kullanmak için script yazmayı anlatacağım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceyhuncamli.com/index.php/2009/05/30/vbscript-veri-turleri/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Script Nedir? Scriptler Nasıl  Çalıştırılır?</title>
		<link>http://www.ceyhuncamli.com/index.php/2009/05/29/script-nedir-scriptler-nasil-calistirilir/</link>
		<comments>http://www.ceyhuncamli.com/index.php/2009/05/29/script-nedir-scriptler-nasil-calistirilir/#comments</comments>
		<pubDate>Fri, 29 May 2009 08:28:10 +0000</pubDate>
		<dc:creator>ceyhun çamlı</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.ceyhuncamli.com/?p=548</guid>
		<description><![CDATA[Sistem yönetimi için tipik yönetim işlemlerini yapmak için yaratılan komut ya da komut dosyalarına script denir. Ben de 4 makale ile  sistem yönetimi için gerekli olduğunu düşündüğüm scriptleri anlatacağım. Öncelikle scriptlerin ne olduğunu ve nasıl çalıştırıldığını anlatarak başlamak istiyorum. Scriptler, Microsoft VBScript© dili kurallarına göre oluşturulur.

 

Scriptlerle yapılabilecek bazı işlemler:

 

Lokal bilgisayar üzerinde ve Active Directory üzerinde nesneler yaratmak için scriptler yazılabilir. Rutin işlemler bu şekilde toplu olarak yapılabilir. 
Yazılan scriptler logon script olarak kullanılabilir. 
Kullanıcı ile etkileşimli çalışmak için kullanılabilir. MsgBox, InputBox deyimleri gibi. 
Sürülerin map edilmesinde kullanılır. 
]]></description>
			<content:encoded><![CDATA[<p>Sistem yönetimi için tipik yönetim işlemlerini yapmak için yaratılan komut ya da komut dosyalarına script denir. Ben de 4 makale ile  sistem yönetimi için gerekli olduğunu düşündüğüm scriptleri anlatacağım. Öncelikle scriptlerin ne olduğunu ve nasıl çalıştırıldığını anlatarak başlamak istiyorum. Scriptler, Microsoft VBScript© dili kurallarına göre oluşturulur.</p>
<p>Scriptlerle yapılabilecek bazı işlemler:</p>
<ul>
<li>Lokal bilgisayar üzerinde ve Active Directory üzerinde nesneler yaratmak için scriptler yazılabilir. Rutin işlemler bu şekilde toplu olarak yapılabilir.</li>
<li>Yazılan scriptler logon script olarak kullanılabilir.</li>
<li>Kullanıcı ile etkileşimli çalışmak için kullanılabilir. MsgBox, InputBox deyimleri gibi.</li>
<li>Sürülerin map edilmesinde kullanılır.</li>
</ul>
<p><strong>NOT:</strong> Scriptler, NotePad gibi basit bir metin editörü aracılığıyla yazılabilir. Onun dışında çok sayıda yönetici program içinde de script yazılabilir.</p>
<p><strong></strong> <img class="alignleft size-full wp-image-549" title="script1" src="http://www.ceyhuncamli.com/wp-content/uploads/2009/05/script1.png" alt="" width="500" height="335" /></p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong></strong> </p>
<p><strong>WSH</strong><strong></strong></p>
<p>Windows Script Host, scriptlerin çalışması için bir ortam yaratır. Diğer bir değişle değişik script dillerini destekleyen script enginidir. JScript ve VBScript&#8217;i destekler. WSH sayesinde yazılan script&#8217;ler Windows ortamında çift tıklanarak çalıştırılır.</p>
<p><strong>Değişken Tanımlamak</strong></p>
<p>Script içinde değerleri temsil etmek için değişkenler (variables) kullanılır. Değişkenler farklı türdeki bilgileri temsil etmek için tür tanımını da sahiptir.</p>
<p>Değişken tanımlama:</p>
<p><strong>Dim </strong>değişkenadı</p>
<p>Örnek:</p>
<p><strong>Dim adi</strong></p>
<p> adi adlı bir değişken tanımlar.</p>
<p> Script örneklerinde genellikle daha standart olsun diye str ile başlayan değişken adı kullanılır:</p>
<p><strong>strComputer</strong></p>
<p><strong>strDomain   </strong></p>
<p><strong>strfcbaglanti</strong></p>
<p>Değişkenlerin dışında <strong>Const</strong> deyimiyle sabitler de tanımlanır:</p>
<p> Örnek:</p>
<p><strong>Const JOIN_DOMAIN   = 1</strong></p>
<p><strong>JOIN_DOMAIN  değerine 1 verilir. </strong></p>
<p> <strong>Const AD = &#8220;ceyhun&#8221;</strong></p>
<p><strong>AD değerine ceyhun değeri  verilir. </strong></p>
<p> <strong>Nesne Tanımlamaları </strong></p>
<p>Değişkenlerle birlikte WSH&#8217;dan bilgi almak ve işlemleri yaptırmak için ilgili nesneleri tanımlanması ve ilgili değişkenlere atanması gerekir. Bu işlem için genellikle <strong>Set</strong> deyimi kullanılır.</p>
<p> Örneğin Active Directory&#8217;ye erişmek:</p>
<p> <strong>GetObject(&#8220;LDAP://OU=deneme,dc=ceyhun.local,dc=com&#8221;)</strong></p>
<p><strong> </strong>Lokal sisteme erişmek:</p>
<p> <strong>GetObject(&#8220;WinNT://&#8221; &amp; strComputer &amp; &#8220;/Administrators&#8221;)</strong></p>
<p><strong> </strong>Dosya sistemine erişmek:</p>
<p> <strong>CreateObject (&#8220;Scripting.FileSystemObject&#8221;)</strong></p>
<p> Dosya işlemlerin örnek olarak, aşağıdaki script bir dosyayı siler.</p>
<p> <strong>Dim fso</strong></p>
<p><strong>Set fso = CreateObject (&#8220;Scripting.FileSystemObject&#8221;)</strong></p>
<p><strong>Fso.deletefile (&#8220;c:\fc.dat&#8221;)</strong></p>
<p> <strong>Scriptleri Çalıştırmak</strong></p>
<p><strong> </strong>Script&#8217;ler Windows ortamında çalışırlar. Masaüstünde çift tıklanarak ya da <strong>Start/Run</strong> ortamında çalıştırılabilirler.</p>
<p> Script dosyalarının türleri:</p>
<p> <strong>Batch Files</strong><strong> (.BAT</strong><strong>)</strong></p>
<p> Genelde bütün Windows versiyonları ve DOS ortamlarında çalışır. Logon Script dosyalar .BAT olarak hazırlanabilir.</p>
<p> <strong>Command Files (.CMD)</strong></p>
<p>Windows NT ile gelmiştir. 32-Bit Command Processor ister. .BAT ile hemen hemen aynıdır.</p>
<p> <strong>Visual Basic Script</strong><strong> (.VBS</strong><strong>)</strong></p>
<p>32-Bit Windows Command Processor ister. Windows ortamında çalışır.</p>
<p> <strong>JAVA Script (.JS)</strong></p>
<p>Genellikle Internet ortamında kullanılır.</p>
<p> Scriptler komut satırından doğrudan ya da bir dosya olarak hazırlanıp çalıştırılabilir. Birkaç satırlık scriptler komut satırından doğrudan uygulanabilir. Uzun scriptler ise bir .VBS dosyası olarak oluşturulur.</p>
<p> <strong>Bat dosyası: </strong></p>
<p>Logon sırasında çalışmak üzere bir logon Script dosyası yaratılmışsa bu dosya server üzerinde belli bir yere konur:</p>
<p><strong>basla.bat</strong></p>
<p> %systemroot%\SYSVOL\sysvol\domain_adı\scripts\ basla.bat</p>
<p> Bu dosyada; örneğin içinde bir paylaşıma map yaratmak olabilir.</p>
<p> <strong>NET USE Z: <a href="file://\\CEYHUN\CEYHUNDATA">\\CEYHUN\CEYHUNDATA</a></strong></p>
<p>Script konusuna kısa bir giriş yaptıktan sonra, bir sonraki makalemizde vbscript veri türleri ve vbscript operatörleri konularına değineceğiz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceyhuncamli.com/index.php/2009/05/29/script-nedir-scriptler-nasil-calistirilir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
