Mi 2. Apr 2008, 17:17
fantastic hat geschrieben:wennes @ vordera stellsch chasch der die dopplete slashs schänke, gloubs ömu ergendwie
Mi 2. Apr 2008, 17:17
Do 3. Apr 2008, 10:27
/*
* *********************************************
* Programmiert von Pascal Biland *
* Für die BerufsFachSchule BerufsBildungBaden *
* Am 3. April 2008 *
* Thx 2 CCnF *
* *********************************************
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
using System.IO;
namespace Homeverzeichnisse
{
class Program
{
static void Main(string[] args)
{
System.IO.StreamWriter writer;
string[] arOrdner = new string[4000]; // Array für die Ordnerliste
string[] arBenutzer = new string[4000]; // Array für die Benutzer für späterer Array zu Array Vergleich
int intZaehler = 0; // Zähler für die Anzahl ausgelesener Einträge
System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry("LDAP://ADC1"); // Entry in ADC1
System.DirectoryServices.DirectorySearcher search = new System.DirectoryServices.DirectorySearcher(entry); // Sucher
search.Filter = "(&(objectClass=user)(objectCategory=Person)" + "(SamAccountName=*))"; // Suchfilter
writer = System.IO.File.CreateText("c:\\TestFile.txt"); // File für die Benutzerliste
search.PageSize = 10000; // Hochsetzung der Pagesize, da ansonsten nur 999 Einträge ausgelsen werden können
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Beginne mit Auslesung der Benutzer aus ADC1");
Console.WriteLine("-------------------------------------------------");
foreach (System.DirectoryServices.SearchResult result in search.FindAll()) // Für jedes Suchresultat
{
string strY = result.GetDirectoryEntry().Path; // Suchresultat an strY übergeben (handlicher)
int intAbfallbrauch = strY.IndexOf(",", 0) - 15; // Suche das erste Komma raus ab der ersten Stelle, ziehe 15 ab und du weisst, wie lange der Name ist
if (strY.Substring(15, 6) == "System") // Falls die ersten 6 Buchstaben "System" sind zu nichts
{
}
else
{
if (strY.Substring(15, 3) == "adm") // Filtere adm Accounts
{
}
else
{
writer.WriteLine(strY.Substring(15, intAbfallbrauch)); // sonst, schreib ab der 15 Stelle bis zum Komma ins Textfile
arBenutzer[intZaehler] = strY.Substring(15, intAbfallbrauch);
intZaehler++;
}
}
}
writer.Close();
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Es wurden " + intZaehler + " Datensätze eingelesen!"); // Angabe der Anzahl Datensätze
Console.WriteLine("-------------------------------------------------");
StreamReader reader = new StreamReader("c:\\TestFile.txt"); // Textausleser
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Beginne mit Ordnerüberprüfung!");
Console.WriteLine("-------------------------------------------------");
string input = reader.ReadLine(); // Erster Input
string strPfad = "c:\\test\\"; // Variable für den Pfad
while (input != null) // Tu es, solange der input nicht leer ist (Bis er das File durchgearbeitet hat)
{
System.IO.Directory.CreateDirectory(strPfad + input + "$"); // Erstelle ein Verzeichnis mit Pfad (strPfad) + input (pascal.biland) + $
input = reader.ReadLine(); // Lese nächste Zeile ein
}
arOrdner = System.IO.Directory.GetDirectories(strPfad); // Ordnerliste ins Array einlesen
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Beginne mit Ordnerabgleich!");
Console.WriteLine("-------------------------------------------------");
for (int i = 0; i < intZaehler; i++) // Arrayvergleich
{
string[] ArTemp = new string[4000];
ArTemp[i] = arOrdner[i].Substring(8, arOrdner[i].Length -9);
if (ArTemp[i] == arBenutzer[i])
{
}
else
{
System.IO.Directory.Delete(arOrdner[i],true); // Ordner löschen, falls der Benutzer dazu nicht mehr existiert
}
}
}
}
}
Do 3. Apr 2008, 10:41
if (ArTemp[i] == arBenutzer[i])
{
}
else
{
System.IO.Directory.Delete(arOrdner[i],true); // Ordner löschen, falls der Benutzer dazu nicht mehr existiert
}
if (ArTemp[i] != arBenutzer[i])
{
System.IO.Directory.Delete(arOrdner[i],true);
// Ordner löschen, falls der Benutzer dazu nicht mehr existiert
}
Do 3. Apr 2008, 11:53
Do 3. Apr 2008, 12:05
notura hat geschrieben:wege denne paar bytes..
söscht chond min chef ned drus
Do 10. Apr 2008, 13:04
/*
* *********************************************
* Programmiert von Pascal Biland *
* BerufsFachSchule BerufsBildungBaden *
* Am 3. April 2008 *
* Version 1.0 *
* Thx 2 CCnF *
* *********************************************
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
using System.IO;
namespace Homeverzeichnisse
{
class Program
{
static void Main(string[] args)
{
DateTime now = DateTime.Now;
string year = now.Year.ToString();
string month = now.Month.ToString();
string day = now.Day.ToString();
if (month.Length < 2)
{
month = "0" + month;
}
if (day.Length < 2)
{
day = "0" + day;
}
string date = year + month + day;
System.IO.StreamWriter systemwriter;
systemwriter = System.IO.File.CreateText("c:\\Logs\\" + date + ".txt");
string[] arOrdner = new string[4000]; // Array für die Ordnerliste
string[] ArTemp = new string[4000];
string[] arBenutzer = new string[4000]; // Array für die Benutzer für späterer Array zu Array Vergleich
int intZaehler = 0; // Zähler für die Anzahl ausgelesener Einträge
System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry("LDAP://ADC1"); // Entry in ADC1
System.DirectoryServices.DirectorySearcher search = new System.DirectoryServices.DirectorySearcher(entry); // Sucher
search.Filter = "(&(objectClass=user)(objectCategory=Person)" + "(SamAccountName=*))"; // Suchfilter
search.PageSize = 10000; // Hochsetzung der Pagesize, da ansonsten nur 999 Einträge ausgelsen werden können
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Beginne mit Auslesung der Benutzer aus ADC1");
Console.WriteLine("-------------------------------------------------");
foreach (System.DirectoryServices.SearchResult result in search.FindAll()) // Für jedes Suchresultat
{
string strY = result.GetDirectoryEntry().Path; // Suchresultat an strY übergeben (handlicher)
int intAbfallbrauch = strY.IndexOf(",", 0) - 15; // Suche das erste Komma raus ab der ersten Stelle, ziehe 15 ab und du weisst, wie lange der Name ist
if (strY.Substring(15, 6) != "System") // Falls die ersten 6 Buchstaben "System" sind zu nichts
{
if (strY.Substring(15, 3) != "adm") // Filtere adm Accounts
{
arBenutzer[intZaehler] = strY.Substring(15, intAbfallbrauch);
intZaehler++;
}
}
}
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Es wurden " + intZaehler + " Datensätze eingelesen!"); // Angabe der Anzahl Datensätze
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Beginne mit der Existenzprüfung der Ordner und eventueller Erstellung!");
Console.WriteLine("-------------------------------------------------");
string strPfad = "c:\\Homeverzeichnisse\\"; // Variable für den Pfad
bool blPfad = false;
for (int i = 0; i < intZaehler; i++)
{
blPfad = System.IO.Directory.Exists(strPfad + arBenutzer[i]);
if (blPfad == false)
{
System.IO.Directory.CreateDirectory(strPfad + arBenutzer[i]);
systemwriter.WriteLine(arBenutzer[i] + " :Der Ordner für diesen Benutzer wurde erstellt");
}
}
arOrdner = System.IO.Directory.GetDirectories(strPfad); // Ordnerliste ins Array einlesen
Console.WriteLine("-------------------------------------------------");
Console.WriteLine("Beginne mit der Existenzprüfung der Benutzer und eventueller Löschung!");
Console.WriteLine("-------------------------------------------------");
for (int i = 0; i < intZaehler; i++)
{
ArTemp[i] = arOrdner[i].Substring(21, arOrdner[i].Length -21);
}
for (int i = 0; i < intZaehler; i++) // Arrayvergleich
{
for (int y = 0; y < intZaehler + 1; y++)
{
if (arBenutzer[y] == ArTemp[i])
{
break;
}
else
{
if (y == intZaehler)
{
System.IO.Directory.Delete(arOrdner[i], true);
systemwriter.WriteLine(arOrdner[i] + ": Dieser Ordner wurde gelöscht");
}
}
}
}
systemwriter.Close();
}
}
}
Mo 21. Apr 2008, 08:51
static public void AddDirectorySecurity(String dirpath, String account, FileSystemRights rights, AccessControlType controlType)
{
DirectoryInfo dinfo = new DirectoryInfo(dirpath);
DirectorySecurity dSecurity = dinfo.GetAccessControl();
try
{
dSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));
}
catch (Exception)
{
MessageBox.Show("Es konnten keine Zugriffsberechtigungen für den Ordner gesetzt werden.\n" +
dirpath);
}
dinfo.SetAccessControl(dSecurity);
}
AddDirectorySecurity(path1, account, FileSystemRights.Read, AccessControlType.Allow);
Bei iphpbb3.com bekommen Sie ein kostenloses Forum mit vielen tollen Extras
Forum kostenlos einrichten - Hot Topics - Tags
Beliebteste Themen: Wii, Software, NES, Games, Forum
Impressum | Datenschutz