using System; using System.DirectoryServices; // crear un usuario local y agregarlo a un grupo local class Crearusuario { static void Main() { string usuario = "usuario1"; string grupo = "Administradores"; string password = "passw0rd"; string pc = "w153622"; string PathNT = "WinNT://" + pc + ",computer"; string PathUsuario = "WinNT://" + pc + "/" + usuario + ",user"; string PathGrupo = "WinNT://" + pc + "/" + grupo + ",group"; try { DirectoryEntry NT = new DirectoryEntry(PathNT); DirectoryEntry NuevoUsuario = NT.Children.Add(usuario, "user"); NuevoUsuario.Invoke("SetPassword", new object[] { password }); NuevoUsuario.Invoke("Put", new object[] { "Description", "usuario auxiliar" }); NuevoUsuario.Invoke("Put", new object[] {"UserFlags", 0x00010000}); //NeverExpires NuevoUsuario.CommitChanges(); Console.WriteLine("creado ok"); } catch (Exception e) { Console.WriteLine("error al crear usuario;" + e.Message); } try // agregar a grupo { DirectoryEntry grupoNT = new DirectoryEntry(PathGrupo); grupoNT.Invoke("Add", new object[] { PathUsuario }); grupoNT.CommitChanges(); Console.WriteLine("agregado a " + grupo + " OK"); } catch (Exception g) { Console.WriteLine("error al agregar " + usuario + " a " + grupo + ";" + g.Message); } Console.ReadLine(); } } //class Crearusuario
Mostrando las entradas con la etiqueta C#. Mostrar todas las entradas
Mostrando las entradas con la etiqueta C#. Mostrar todas las entradas
C# - Crear usuario local y agregarlo a un grupo local
C# - método para escribir logs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace programa
{
class ejemploLog
{
public void eLog(string pc, string usuario, string mensaje, StreamWriter sw)
{
DateTime f = DateTime.Now;
string fecha = f.ToString("dd/MM/yyyy");
mensaje = fecha + ";" + pc + ";" + usuario + ";" + mensaje + ";";
Console.WriteLine(mensaje);
sw.WriteLine(mensaje);
}
static void Main()
{
string ArchLog = @"c:\pruebaLog.txt";
StreamWriter sw = File.AppendText(ArchLog);
ejemploLog m = new ejemploLog();
m.eLog("pc1", "jorge", "autorizado a acceder", sw);
m.eLog("pc2", "jorge1", "No autorizado a acceder", sw);
m.eLog("pc3", "jorge2", "autorizado a acceder", sw);
Console.ReadLine();
} // main
} // class ejemploLog
} // namespace programa
C# - Abrir un archivo que lea caracteres unicode
using System; using System.IO; namespace prueba { class jorge { public static void Main() { string path = "c:\a.txt"; // abrir archivo StreamReader sr = new StreamReader(path, System.Text.Encoding.Default); string linea = sr.ReadLine(); while (linea != null) { Console.WriteLine("linea: {0}", linea); linea = sr.ReadLine(); } Console.ReadLine(); } } }
Primeros pasos (mios) con .csv en Powershell
bueno, hace muy poco que comencé a estudiar powershell, y me gustó bastante. Es muy robusto, y una vez que se entiende que lo que se ve no es texto, sino objetos, se puede comenzar a utilizar.
Ahora voy a mostar un archivo .csv, y formatearlo para su visualización.
Comienzo a grabar los comandos que tipee con Start-Transcript
Reemplazo datos confidenciales con (####)
C:\>Start-Transcript
**********************
Windows PowerShell Transcript Start
Start time: 20061026185314
Username : (####)
Machine : (####) (Microsoft Windows NT 5.1.2600 Service Pack 2)
**********************
Transcript started, output file is C:\Documents and Settings\(####)\Mis documentos\PowerShell_transcript.20061026185314.txt
PS C:\> Set-Location C:\extrayendo (alias cd)
PS C:\extrayendo> Get-ChildItem (alias dir, ls)
Directory: Microsoft.PowerShell.Core\FileSystem::C:\extrayendo
Mode LastWrite Time Length Name
---- ---------- ---- ----- ----
-a-- 26/10/2006 18:52 154 lista.csv
Format-table para ajustar el tamaño, recuerden que el pipe (|) esta pasando un OBJETO)
PS C:\extrayendo> Import-Csv lista.csv | Format-Table -autosize
nombre apellido edad estadoCivil
------ -------- ---- -----------
Jorge Mestre 24 soltero
Juan Perez 30 casado
Pepe Hongo 50 divorciado
Maria DelMar 18 soltera
Laura Noesta 27 casado
Selecciono propiedades del objeto a mostrar, el format siempre al final
PS C:\extrayendo> Import-Csv lista.csv | select nombre,apellido | Format-Table -autosize
nombre apellido
------ --------
Jorge Mestre
Juan Perez
Pepe Hongo
Maria DelMar
Laura Noesta
Muestro condicionando segun el contenido de una propiedad. Esto es "Donde el objeto (que viene del pipe y lo nombramos $_
le indicamos que queremos solo los apellidos que sean iguales (-eq) a la cadena de texto "Mestre", luego, formateamos para que se vea correctamente.
PS C:\extrayendo> Import-Csv lista.csv | Where-Object{$_.apellido -eq "Mestre"} | Format-Table -autosize
nombre apellido edad estadoCivil
------ -------- ---- -----------
Jorge Mestre 24 soltero
PS C:\extrayendo> Import-Csv lista.csv | Where-Object{$_.apellido -eq "Mestre"} | select nombre,edad | Format-Table -autosize
nombre edad
------ ----
Jorge 24
PS C:\extrayendo> Stop-Transcript
**********************
Windows PowerShell Transcript End
End time: 20061026190300
**********************
Si nunca has trabajado con objetos, se les va a complicar visualizarlo MUCHISIMO al principio (como a mi), luego, con pratica y reventones de neuronas, va saliendo de a poco
Ahora voy a mostar un archivo .csv, y formatearlo para su visualización.
Comienzo a grabar los comandos que tipee con Start-Transcript
Reemplazo datos confidenciales con (####)
C:\>Start-Transcript
**********************
Windows PowerShell Transcript Start
Start time: 20061026185314
Username : (####)
Machine : (####) (Microsoft Windows NT 5.1.2600 Service Pack 2)
**********************
Transcript started, output file is C:\Documents and Settings\(####)\Mis documentos\PowerShell_transcript.20061026185314.txt
PS C:\> Set-Location C:\extrayendo (alias cd)
PS C:\extrayendo> Get-ChildItem (alias dir, ls)
Directory: Microsoft.PowerShell.Core\FileSystem::C:\extrayendo
Mode LastWrite Time Length Name
---- ---------- ---- ----- ----
-a-- 26/10/2006 18:52 154 lista.csv
Format-table para ajustar el tamaño, recuerden que el pipe (|) esta pasando un OBJETO)
PS C:\extrayendo> Import-Csv lista.csv | Format-Table -autosize
nombre apellido edad estadoCivil
------ -------- ---- -----------
Jorge Mestre 24 soltero
Juan Perez 30 casado
Pepe Hongo 50 divorciado
Maria DelMar 18 soltera
Laura Noesta 27 casado
Selecciono propiedades del objeto a mostrar, el format siempre al final
PS C:\extrayendo> Import-Csv lista.csv | select nombre,apellido | Format-Table -autosize
nombre apellido
------ --------
Jorge Mestre
Juan Perez
Pepe Hongo
Maria DelMar
Laura Noesta
Muestro condicionando segun el contenido de una propiedad. Esto es "Donde el objeto (que viene del pipe y lo nombramos $_
le indicamos que queremos solo los apellidos que sean iguales (-eq) a la cadena de texto "Mestre", luego, formateamos para que se vea correctamente.
PS C:\extrayendo> Import-Csv lista.csv | Where-Object{$_.apellido -eq "Mestre"} | Format-Table -autosize
nombre apellido edad estadoCivil
------ -------- ---- -----------
Jorge Mestre 24 soltero
PS C:\extrayendo> Import-Csv lista.csv | Where-Object{$_.apellido -eq "Mestre"} | select nombre,edad | Format-Table -autosize
nombre edad
------ ----
Jorge 24
PS C:\extrayendo> Stop-Transcript
**********************
Windows PowerShell Transcript End
End time: 20061026190300
**********************
Si nunca has trabajado con objetos, se les va a complicar visualizarlo MUCHISIMO al principio (como a mi), luego, con pratica y reventones de neuronas, va saliendo de a poco
Categorias:
C#,
powershell,
vbscript
Suscribirse a:
Entradas (Atom)