18 Temmuz 2010 Pazar

Executing Applications on Remote Systems by using PsExec

Running an executable on a remote machine is a piece of cake when you know the credentials (username and password) of the remote machine. A telnet-replacement called PsExec , can be used to execute processes on remote systems without having to install a client application.

PsExec is a free tool in PsTools Suite v2.44 and can be downloaded from the link below.
http://download.sysinternals.com/Files/PsTools.zip
After downloading the tool set, you can use the following example to run a remote executable.

Think that you want to run an executable which is located in "MyFolder" in "D:" drive and the name of the file is "MyFile.exe". Also , you know that the IP of the remote computer is "10.0.0.8" and the credentials are "user" for username and "pass" for password.

According to the information given above, your command line should look like the following line;
psexec.exe \\10.0.0.8 -u user -p pass -c -f "D:\MyFolder\MyFile.exe"

-u : username in the remote machine
-p : password of the given user
-c : by using this switch, it copies the specified application in the specified location, to the remote system for execution.
-f : if file already exists on the remote system it overwrites the file.

Mapping Network Drives using C#

You can use the Windows Networking Functions "WNetAddConnection2" and "WNetCancelConnection2" to map the drives. You can make a connection to a network resource by using the "WNetAddConnection2" function and can cancel an existing network connection by using the "WNetCancelConnection2" function.

Sample file can be downloaded from the following links:
NetworkDriveMapper.cs (Google)
NetworkDriveMapper.cs (Uploading)



using System;
using System.Runtime.InteropServices;

namespace Mapping_Network_Drive
{
    public class NetworkDriveMapper
    {
        private enum ResourceScope
        {
            RESOURCE_CONNECTED = 1,
            RESOURCE_GLOBALNET,
            RESOURCE_REMEMBERED,
            RESOURCE_RECENT,
            RESOURCE_CONTEXT
        }

        private enum ResourceType
        {
            RESOURCETYPE_ANY,
            RESOURCETYPE_DISK,
            RESOURCETYPE_PRINT,
            RESOURCETYPE_RESERVED
        }

        private enum ResourceUsage
        {
            RESOURCEUSAGE_CONNECTABLE = 1,
            RESOURCEUSAGE_CONTAINER = 2,
            RESOURCEUSAGE_NOLOCALDEVICE = 4,
            RESOURCEUSAGE_SIBLING = 8,
            RESOURCEUSAGE_ATTACHED = 10
        }

        private enum ResourceDisplayType
        {
            RESOURCEDISPLAYTYPE_GENERIC,
            RESOURCEDISPLAYTYPE_DOMAIN,
            RESOURCEDISPLAYTYPE_SERVER,
            RESOURCEDISPLAYTYPE_SHARE,
            RESOURCEDISPLAYTYPE_FILE,
            RESOURCEDISPLAYTYPE_GROUP,
            RESOURCEDISPLAYTYPE_NETWORK,
            RESOURCEDISPLAYTYPE_ROOT,
            RESOURCEDISPLAYTYPE_SHAREADMIN,
            RESOURCEDISPLAYTYPE_DIRECTORY,
            RESOURCEDISPLAYTYPE_TREE,
            RESOURCEDISPLAYTYPE_NDSCONTAINER
        }

        [StructLayout(LayoutKind.Sequential)]
        private struct NetResource
        {
            public ResourceScope ResourceScope;
            public ResourceType ResourceType;
            public ResourceDisplayType DisplayType;
            public ResourceUsage ResourceUsage;
            public string LocalName;
            public string RemoteName;
            public string Comments;
            public string Provider;
        }

        [DllImport("mpr.dll")]
        private static extern int WNetAddConnection2(ref NetResource networkResource, string password,string userName, int iFlags);

        [DllImport("mpr.dll")]
        private static extern int WNetCancelConnection2(string localName, uint iFlags, int iForce);

        public static void MapNetworkDrive(string driveLetter, string networkPath)
        {
            if (networkPath.EndsWith(@"\")) //When the last character is '\' , this causes error on mapping a drive.
            {
                networkPath = networkPath.Substring(0, networkPath.Length - 1);
            }

            NetResource networkResource = new NetResource();
            networkResource.ResourceType = ResourceType.RESOURCETYPE_DISK;
            networkResource.LocalName = driveLetter + ":";
            networkResource.RemoteName = networkPath;

            //If this drive is currently mapped, first disconnect the mapping before adding the new one
            if (IsDriveMapped(driveLetter))
            {
                DisconnectNetworkDrive(driveLetter, true);
            }

            WNetAddConnection2(ref networkResource, null, null, 0);
        }

        public static int DisconnectNetworkDrive(string driveLetter, bool forceDisconnect)
        {
            if (forceDisconnect)
            {
                return WNetCancelConnection2(driveLetter + ":", 0, 1);
            }
            else
            {
                return WNetCancelConnection2(driveLetter + ":", 0, 0);
            }
        }

        public static bool IsDriveMapped(string driveLetter)
        {
            string[] driveList = Environment.GetLogicalDrives();
            for (int i = 0; i < driveList.Length; i++)
            {
                if (driveLetter + ":\\" == driveList[i].ToString())
                {
                    return true;
                }
            }
            return false;
        }
    }
}

On-Screen Keyboard in Windows XP

Windows XP comes with a nice virtual keyboard that you can operate by using your mouse. When you start the On-Screen Keyboard, a graphical representation of a keyboard is loaded as a separate window.


To type something by using your virtual keyboard, focus on where you want to write and simply click the corresponding key with your mouse. That's all. This feature is mainly intended as an accessibility option. The On-Screen Keyboard allows people with mobility impairments to type using a mouse or joystick in place of a standard keyboard. Also, this little tool is very useful when you have problems with your keyboard or just a key on your keyboard which is physically deformed.

To run your On-Screen Keyboard application;
 - First, open the document/application that you want to write into.
 - Then, click "Start" and then click "Run" to reach the Run box.
 - Input "osk" (don't use the quotes) in to the box and click "OK".


To learn more about using On–Screen Keyboard, you can visit the following link.
http://www.microsoft.com/enable/training/windowsxp/usingkeyboard.aspx

I hope you find this useful.

17 Temmuz 2010 Cumartesi

Microsoft Visual Studio 2010 Dil Paketleri (Türkçe)

Visual Studio 2010 Dil Paketleri, Visual Studio 2010 Professional'ın İngilizce sürümünün üzerine yüklenebilen ücretsiz eklentilerdir. Dil paketleri yazılımın kullanıcı arabirimi (UI) ve hata iletileri için kısmi yerelleştirme sağlar. Dil paketleri yüklendikten sonra, kullanıcı tarafından kullanıcı arabirimi için İngilizce ile yerelleştirilmiş dil arasında seçim yapılabilir. Visual Studio 2010 dil paketleri İstanbul Teknik Üniversitesi ile işbirliği içinde çevrilmiştir.

İndirmek için aşağıdaki linki takip ediniz.
http://www.microsoft.com/downloads/details.aspx?FamilyID=7ee0d8a7-32fb-407d-a010-da3a7d93fc2f&displaylang=tr

Sezen Aksu - Tükeneceğiz



Sezen Aksu - Tükeneceğiz

5 Temmuz 2010 Pazartesi

Every line is a child of mine


EVERY LINE IS A CHILD OF MINE
- WHY HAVE YOU COMMENTED OUT THESE LINES OF CODE?
- I DON'T HAVE THE HEART TO KILL THEM

3 Temmuz 2010 Cumartesi

Finlandiya'da herkese ücretsiz internet

(Kaynak)

Finlandiya'da internet artık herkes için ücretsiz olacak. Dün yürürlüğe giren yasayla birlikte, telekomünikasyon firmaları her vatandaşa ücretsiz internet hizmeti vermekle yükümlü tutuldu. Ülkede, İnternet, temel insan hakkı olarak kabul edilirken, artık mahkemeler bile bu hakkı kaldıramayacak.

İnternet bağlantısına sahip olmayı 'vatandaşlık hakkı' olarak kabul etme tartışmaları sürerken, bu konuda ilk yasayı çıkarıp yürürlüğe sokan ülke Finlandiya oldu.

1 Temmuz'da yürürlüğe giren yasaya göre Finlandiya'daki telekomünikasyon firmaları tüm vatandaşlara en az 1 Mbps hızında genişbant internet bağlantısı sağlamakla yükümlü tutuldu.

İnternet erişimini 'insan hakkı' olarak tanımlayan yasa uyarınca hiçbir firma veya mahkeme vatandaşların internet bağlantısını kesemeyecek veya kesilmesi yönünde karar veremeyecek.

Başka deyişle ülkede internet, su, elektrik ve temiz hava gibi temel ve asla kesilemeyecek insani ihtiyaçlar arasına katılmış oldu.

4 BİN EV İÇİN ÜCRETSİZ İNTERNET

Finlandiya dünyanın en çok 'çevrimiçi' olan ülkelerinden. Ülke nüfusunun yüzde 96'sı internet kullanıyor ve interneti sadece eğlence değil tüm gündelik yaşamlarında vazgeçilmez bir yardımcı olarak kullanıyor.

Ülkedeki e-devlet uygulamaları da dünyada en sistematik ve düzenli işleyenlerden. Yeni yasadan sonra hala internet bağlantısı olmayan 4 bin haneye de firmalar hızlı bir şekilde hat çekmek zorunda.

Finlandiya hükümeti, 2015 yılına kadar herkese 100 Mbps hızında bağlantı sağlama hedefine sahip.

İngiltere' de 2012'ye kadar internetsiz ev kalmayacak

Finlandiya'nın aldığı kararın bir benzeri İngiltere'de oldu. Hükümet 2012'ye kadar tüm konutlara en az 2Mps'lik internet bağlantısı olanağı sağlamayı taahhüt etmişti ama bunu bağlayıcılığı olacak şekilde yasalaştırmadı.

İngiltere'de nüfusun yüzde 73'ünün internete erişimi var. Kültür Medya ve Spor Bakanlığı'nın bir sözcüsü "İngiltere'nin, küresel servis sağlama yükümlülüğü doğrultusunda ülkedeki hemen tüm yerleşim alanlarına hızlı internet erişimi sağlanacak" dedi.

Hızlı internet bağlantısının bir yasal hak haline getirilmesi, yasadışı dosya paylaşımı konusunda sert önlemler almayı planlayan ülkeler açısından sorun yaratabilir.

Gerek İngiltere, gerekse Fransa, internetten sürekli olarak müzik ve film indiren kişilerin internet bağlantılarını kısıtlama ya da kesme yoluna gidilebileceğini açıklamışlardı.

Kaynak