diff --git a/amka/command-line-client/amka.php b/amka/command-line-client/amka.php
index 637c5f2b1af8661f1a14531066d4c2d6b845ab64..07885f506643cb80e055bb99bf4c48e1f8a02d09 100644
--- a/amka/command-line-client/amka.php
+++ b/amka/command-line-client/amka.php
@@ -24,7 +24,7 @@ if ($amka == '' || $surname == '' || $bdate == '') {
     echo "ΧρΞ�ση: {$argv[0]} [-v] --amka <amka> --surname <surname>", PHP_EOL,
     "                v: παραγωγΞ� μηνυμάτων παρακολούθησης ΡκτέλΡσης", PHP_EOL,
     "      amka <amka>: ΞΏ Ξ±ΟΞΉΞΈΞΌΟŒΟ‚ Ξ‘ΞœΞšΞ‘", PHP_EOL,
-    "surname <surname>: ΡπίθΡτο σΡ ΞšΞ•Ξ¦Ξ‘Ξ›Ξ‘Ξ™Ξ‘", PHP_EOL,
+    "surname <surname>: ΡπίθΡτο σΡ ΞšΞ•Ξ¦Ξ‘Ξ›Ξ‘Ξ™Ξ‘", PHP_EOL;
     exit(0);
 }
 
diff --git a/ldap/command-line/.gitignore b/ldap/command-line/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..edd8de636356b0f8914ce152516eae2cdaeb1c40
--- /dev/null
+++ b/ldap/command-line/.gitignore
@@ -0,0 +1 @@
+settings.php
diff --git a/ldap/command-line/README.md b/ldap/command-line/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..687cac68575aa14f690c806119f8e04cd01a223e
--- /dev/null
+++ b/ldap/command-line/README.md
@@ -0,0 +1,54 @@
+# Πρόγραμμα ΡπίδΡιξης Ξ³ΞΉΞ± έλΡγχο LDAP χρΞ�στη
+
+΀ο Ο€ΟΟŒΞ³ΟΞ±ΞΌΞΌΞ± ΡλέγχΡι ΞΌΞ΅ Ξ±Ο€Ξ»ΟŒ Ο„ΟΟŒΟ€ΞΏ Ράν Ξ­Ξ½Ξ± χρΞ�στης υπάρχΡι στον
+κατάλογο ΞΊΞ±ΞΉ ΡπιστρέφΡι attributes του χρΞ�στη Ξ΅Ο†ΟŒΟƒΞΏΞ½ ΢ητηθούν.
+
+## ΞŸΞ΄Ξ·Ξ³Ξ―Ξ΅Ο‚ 
+
+Ξ‘Ξ½Ο„ΞΉΞ³ΟΞ¬ΟˆΟ„Ξ΅ το αρχΡίο `settings.php.dist` σΡ Ξ­Ξ½Ξ± Ξ½Ξ­ΞΏ αρχΡίο `settings.php` ΞΊΞ±ΞΉ
+τροποποιΞ�στΡ Ξ±Ξ½Ξ±Ξ»ΟŒΞ³Ο‰Ο‚. 
+
+```php
+return [
+    'connectionString' => 'ldap://my.ldap.server',
+    'domain' => null, // if AD, provide domain name for login
+    'baseSearchDN' => 'cn=Users,dc=YOURCOMPANY,dc=COM',
+];
+```
+
+## Πρόγραμμα πΡλάτης 
+
+Για την ΡπίδΡιξη των διαθέσιμων Ξ»Ξ΅ΞΉΟ„ΞΏΟ…ΟΞ³ΞΉΟŽΞ½ έχΡι αναπτυχθΡί Ο€ΟΟŒΞ³ΟΞ±ΞΌΞΌΞ± 
+[ldapcmd.php](ldapcmd.php) που μπορΡίτΡ Ξ½Ξ± ΡκτΡλέσΡτΡ Ξ±Ο€ΟŒ τη γραμμΞ� Ξ΅Ξ½Ο„ΞΏΞ»ΟŽΞ½.
+΀ο Ο€ΟΟŒΞ³ΟΞ±ΞΌΞΌΞ± δέχΡται τις παρακάτω παραμέτρους: 
+
+```
+ΧρΞ�ση: ldapcmd.php {-u | --username} <username> {-p | --password} <password> 
+               [ -d | --domain <domain>] [-c] [--check] [-g <list>] [--get <list>]
+ u, username : όνομα χρΞ�στη
+ p, password : ΞΊΟ‰Ξ΄ΞΉΞΊΟŒΟ‚ Ο€ΟΟŒΟƒΞ²Ξ±ΟƒΞ·Ο‚
+ d, domain   : domain Ξ³ΞΉΞ± σύνδΡση (AD domain Ξ΅Ο†ΟŒΟƒΞΏΞ½ χρΡιά΢Ρται)
+ c, check    : έλΡγχος στοιχΡίων Ο€ΟΟŒΟƒΞ²Ξ±ΟƒΞ·Ο‚ (προΡπιλογΞ�)
+ g, get      : άντληση στοιχΡίων χρΞ�στη, λίστα Ξ±Ο€ΟŒ attribute names χωρισμένη ΞΌΞ΅ ΞΊΟŒΞΌΞΌΞ±Ο„Ξ±
+               Ο€.Ο‡. --get sn,displayname,givenname,memberof
+```
+
+### ΠαράδΡιγμα ΞΊΞ»Ξ�σης
+
+*ΕπιτυχΞ�Ο‚ έλΡγχος στοιχΡίων* 
+
+```
+$ php ldapcmd.php -u kotsos --password kotsos -d PDECRETE 
+true
+```
+
+*Άντληση στοιχΡίων*
+
+```
+$ php ldapcmd.php -u kotsos --password kotsos -d PDECRETE -g sn,displayname,memberOf
+sn:kotsou
+displayname:kotsos kotsou
+memberof:CN=Debugger Users,CN=Users,DC=pdecrete,DC=local
+memberof:CN=Domain Guests,CN=Users,DC=pdecrete,DC=local
+memberof:CN=IIS_WPG,CN=Users,DC=pdecrete,DC=local
+```
diff --git a/ldap/command-line/ldapcmd.php b/ldap/command-line/ldapcmd.php
new file mode 100644
index 0000000000000000000000000000000000000000..acec7565aee0d1efb13e64473169ec14c72abef2
--- /dev/null
+++ b/ldap/command-line/ldapcmd.php
@@ -0,0 +1,95 @@
+<?php 
+
+$settings = require(__DIR__ . '/settings.php');
+
+/**
+ * Ξ›Ξ�ψη παραμέτρων καθορισμού λΡιτουργίας Ξ±Ο€ΟŒ τη γραμμΞ� Ξ΅Ξ½Ο„ΞΏΞ»ΟŽΞ½ 
+ */
+$options = getopt('u:p:d:cg:', ['username:', 'password:', 'domain:', 'check', 'get:']);
+
+$username = isset($options['u']) ? $options['u'] : (isset($options['username']) ? $options['username'] : null);
+$password = isset($options['p']) ? $options['p'] : (isset($options['password']) ? $options['password'] : null);
+$domain = isset($options['d']) ? $options['d'] : (isset($options['domain']) ? $options['domain'] : null);
+if ($domain === null) {
+    // προΡπιλΡγμένη τιμΞ�, Ράν υπάρχΡι
+    $domain = (isset($settings['domain']) && is_string($settings['domain'])) ? $settings['domain'] : null;
+}
+$check = isset($options['c']) || isset($options['check']);
+$get_attributes_requested = '';
+if (isset($options['g'])) {
+    $get_attributes_requested = $options['g'];
+}
+if (isset($options['getg'])) {
+    $get_attributes_requested = $options['get'];
+}
+$get = !($get_attributes_requested == '');
+if ($get) {
+    $get_attributes = explode(',', $get_attributes_requested);
+    array_walk($get_attributes, function (&$v, $k) {
+        $v = mb_strtolower($v);
+    });
+} else {
+    $get_attributes = [];
+    $check = true; // προΡπιλογΞ�
+}
+
+/**
+ * ΞˆΞ»Ξ΅Ξ³Ο‡ΞΏΟ‚ παραμέτρων
+ */
+if ($username === null || $password === null) {
+    echo "ΧρΞ�ση: {$argv[0]} {-u | --username} <username> {-p | --password} <password> ", PHP_EOL,
+    "               [ -d | --domain <domain>] [-c] [--check] [-g <list>] [--get <list>]", PHP_EOL,
+    " u, username : όνομα χρΞ�στη", PHP_EOL,
+    " p, password : ΞΊΟ‰Ξ΄ΞΉΞΊΟŒΟ‚ Ο€ΟΟŒΟƒΞ²Ξ±ΟƒΞ·Ο‚", PHP_EOL,
+    " d, domain   : domain Ξ³ΞΉΞ± σύνδΡση (AD domain Ξ΅Ο†ΟŒΟƒΞΏΞ½ χρΡιά΢Ρται)", PHP_EOL,
+    " c, check    : έλΡγχος στοιχΡίων Ο€ΟΟŒΟƒΞ²Ξ±ΟƒΞ·Ο‚ (προΡπιλογΞ�)", PHP_EOL,
+    " g, get      : άντληση στοιχΡίων χρΞ�στη, λίστα Ξ±Ο€ΟŒ attribute names χωρισμένη ΞΌΞ΅ ΞΊΟŒΞΌΞΌΞ±Ο„Ξ±", PHP_EOL,
+    "               Ο€.Ο‡. --get sn,displayname,givenname,memberof", PHP_EOL;
+    exit(0);
+}
+
+//
+
+$ldap = ldap_connect($settings['connectionString']);
+$ldaprdn = ($domain ? "{$domain}\\" : '') . $username;
+
+ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
+ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
+
+// δοκιμΞ� σύνδΡσης...
+$bind = @ldap_bind($ldap, $ldaprdn, $password);
+
+// ΡνέργΡιΡς ανάλογα ΞΌΞ΅ το αίτημα του χρΞ�στη
+if ($bind) {
+    if ($check) {
+        echo "true", PHP_EOL;
+    } 
+    if ($get) {
+        $filter = "(sAMAccountName=$username)";
+        $result = @ldap_search($ldap, $settings['baseSearchDN'], $filter, $get_attributes);
+        if ($result === false) {
+            echo "Σφάλμα ", ldap_error($ldap), PHP_EOL;
+        } else {
+            $data = ldap_get_entries($ldap, $result);
+            // echo "COUNT: ", $data["count"], PHP_EOL;
+            for ($i = 0; $i < $data['count']; $i++) {
+                foreach ($get_attributes as $attribute_name) {
+                    $attribute = isset($data[$i][$attribute_name]) ? $data[$i][$attribute_name] : null;
+                    if ($attribute === null) 
+                        continue;
+                    for ($c = 0; $c < $attribute['count']; $c++) {
+                        echo "{$attribute_name}:{$attribute[$c]}", PHP_EOL;
+                    }
+                }
+            }
+        }
+    }
+} else {
+    if ($check) {
+        echo "false", PHP_EOL;
+    } else {
+        echo "Λανθασμένα στοιχΡία Ο€ΟΟŒΟƒΞ²Ξ±ΟƒΞ·Ο‚ ", ldap_error($ldap), PHP_EOL;
+    }
+}
+
+exit(0);
diff --git a/ldap/command-line/settings.php.dist b/ldap/command-line/settings.php.dist
new file mode 100644
index 0000000000000000000000000000000000000000..c55cacc3671cd81b5b49de14c685afe9bfb08833
--- /dev/null
+++ b/ldap/command-line/settings.php.dist
@@ -0,0 +1,7 @@
+<?php
+
+return [
+    'connectionString' => 'ldap://my.ldap.server',
+    'domain' => null, // if AD, provide domain name for login
+    'baseSearchDN' => 'cn=Users,dc=YOURCOMPANY,dc=COM',
+];