Anuncios

jueves, 23 de abril de 2009

Como crear usuarios nuevos en powershell



Como crear usuarios locales en powershell ?

$user = $computer.Create("User", "Norberto")
$user.SetPassword("queques")
$user.SetInfo()
$user.Description = [String] "test"
$user.SetInfo()

Línea por línea:
$user = $computer.Create("User", "Norberto")
Crea un usuario llamado Norberto

$user.SetPassword("queques")
Crea un password denominado queques

$user.SetInfo()
Guarda la información.

$user.Description = [String] "test"
Establece la descripción del usuario.

Como ver que el usuario local se creó en powershell ?
Una vez creado el usuario puede correr el comando:

Net user

Si usted corre el ejemplo anterior debería listar a un usuario denominado Norberto.
La forma visual es mediante Mi PC >Administrar>usuarios locales

Como crear usuarios de Active directory en powershell ?
Voy a mostrar un ejemplo de cómo crear usuarios en Active Directory. No se asusten al ver muchas líneas de código voy a explicar paso a paso.
Requisitos: Estoy usando una máquina controladora de dominio que ya tiene Active Directory instalado. En este ejemplo use windows 2003.

Ejemplo:
# En la primera línea se conecta al dominio. Esta línea requiere ser modificada.
$Path= "LDAP://CN=Users,DC=Pepe,DC=com"
$name = "Daniel Calbimonte"
$NTname = "DanielCalbimonte"
$ou = New-Object Directoryservices.DirectoryEntry($Path)
$user = $ou.PSBase.Children.Add("CN=" + $name,'user')
$user.PSBase.CommitChanges()
$user.SAMAccountName = $NTname
$user.Description = "QE Lead"
$user.PSBase.CommitChanges()
"Usuario creado: "
$user.SetPassword("passwd")
"Password establecido"

Viendo línea por línea:
$Path= ldap://CN=users,DC=Pepe,DC=com/

En esta línea me estoy conectando a mi dominio pepe.com. Luego estoy entrando al contenedor users.

Para ver como se llama su dominio, entre a Usuarios y Equipos de Active Directory y vea en que dominio desea crear.






Si yo desease crear usuarios en mi unidad organizacional llamada nueva tendría que hacer lo siguiente:

$Path= "LDAP://OU=nueva,DC=Pepe,DC=com"
Vamos a la siguiente línea:
$name = "Daniel Calbimonte"
Estamos definiendo como se llamará el usuario.
$ou = New-Object Directoryservices.DirectoryEntry($Path)
En esta línea creamos un nuevo objeto (en este caso un usuario con el path establecido en la primera línea.
$user = $ou.PSBase.Children.Add("CN=" + $name,'user')
Estamos definiendo el nombre del usuario.
$user.PSBase.CommitChanges()
Guarda los cambios
$user.SAMAccountName = $NTname
Establece el tipo de cuenta.
$user.Description = "QE Lead"
Establece una descripción del usuario.
$user.SetPassword("passwd")
Establece un password denominado passwd del usuario.



Si todo salió bien, usted deberia poder ver a su usuario creado:




















Como crear una unidad organizacional con powershell?




$Path2= [ADSI]"LDAP://DC=Pepe,DC=com"
$UO2=$Path2.Create("OrganizationalUnit", "ou=" + "nuevaUO")
$UO2.SetInfo()


Veamos línea por línea:


La primera lína se conecta con el dominio de active directory (en este ejemplo mi dominio es pepe.com).


La segunda línea crea una unidad organizacional llamada nuevaUO. La última lína graba la información.


Si todo salió bien debería ver esto en su AD:





Como crear una unidad organizacional dentro de otra unidad organizacional con powershell (unidad organizacional hija) ?

Voy a crear una unidad organizacional llamada hijanueva dentro de la unidad organizacional nuevaUO (creada en el ejercicio anterior):



$Path3= [ADSI]LDAP://OU=nuevaUO,DC=Pepe,DC=com

$UO3=$Path3.Create("OrganizationalUnit", "ou=hijanueva")

$UO3.SetInfo()



Si todo salió bien debería ver lo siguiente:



Artículos relacionados


martes, 21 de abril de 2009

Creación básica de objetos SQL Server (tablas, autonuméricos, bases de datos, procedimientos almacenados)


El requisito para realizar estas prácticas es tener el SQL Server instalado.

En esta sección vamos a ver:


Como crear una tabla en SQL Server 2008 de manera visual ?.
Ver el video adjunto (para ver el video descomprima el archivo zip y abra el archivo html).

Como crear auto numéricos en SQL Server 2008 de manera visual ?
Ver el video de autonuméricos (para ver el video descomprima el archivo zip y abra el archivo html).

Como editar datos de tabla de manera visual ?

Ver el video relacionado (para ver el video descomprima el archivo zip y abra el archivo html).

Que es T-SQL ?

T-SQL es una extensión del lenguaje de consultas de base SQL. SQL es un lenguate para consultar bases de datos T-SQL es Transaction Structured Query Language.

Como puedo crear una base de datos usando T-SQL ?

Create database daniel
Para mayor información:
http://msdn.microsoft.com/es-es/library/ms176061.aspx

Como puedo crear una tabla usando T-SQL ?

CREATE TABLE T1 (c1 int, c2 nvarchar(200) )

Para mayor información:
http://msdn.microsoft.com/es-es/library/ms174979.aspx

Como puedo crear autonuméricos en SQL Server usando T-SQL ?
id int NOT NULL IDENTITY (1, 1)Donde id es el nombre de la columna IDENTITY (1,1) es empezar desde el valor 1 e incrementar de 1 ien 1.
Para mayor información:
http://msdn.microsoft.com/es-us/library/ms186775.aspx

Que es un esquema de sql server ?
En pocas palabras podríamos decir que es un contenedor de objetos tales como tablas, vistas y procedimientos almacenados.

Como crear un esquema en SQL Server ?

USE [daniel]
GO
CREATE SCHEMA [esquema1] AUTHORIZATION [dbo]
GO
Para mayor información:
http://technet.microsoft.com/es-es/library/ms189462.aspx
Como crear un procedimiento almacenado ?
/*Crea un procedimiento almacenado llamado p1 dentro del esquema esquema1.*/
Create esquema1.procedure p1
As
Select * from t1Para mayor información:
http://technet.microsoft.com/es-es/library/ms187926.aspx

viernes, 3 de abril de 2009

SQLCMD la línea de comandos para SQL Server

network monitoring Powershell SQL Server Visualcert Seguridad Herramientas google

Esto esta dedicado a la gente que necesita automatizar tareas de SQL Server y necesita ejecutar sentencias mediante línea de comandos. Para automatizar ahora se usa el SQLCMD, que es muy parecido a su antecesor OSQL.
En este artículo vamos a ver los siguientes ejemplos:


Hasta hace muy poco tiempo la línea de comandos SQL Server llamada sqlcmd era la forma más común de ejecutar consultas usando línea de comandos.
Actualmente, lo más aconsejable es comenzar a usar powershell.
Para una introducción al powershell, pueden acceder a este link:

http://elpaladintecnologico.blogspot.com/2009/02/que-es-powershell-ejemplos-basicos-para.html

Para una introducción de powershell para SQL Server, pueden ver este link:

http://elpaladintecnologico.blogspot.com/2009/02/tutorial-de-powershell-para-sql-server.html

Ahora, los que insisten en usar sqlcmd, acá vamos. Este tutorial permite manejar SQL Server mediante línea de comandos. Personalmente estoy usando SQL Server 2008, pero todo lo que voy a hacer se aplica a SQL Server 2005. Si alguien quiere usar osql, me pide el email de mi abuelito para que les indique.

--> Origen del sqlcmd
En sql server 2000 se usaba el osql. SQL Server 2005 sigue soportando osql, pero a su vez soporta sqlcmd. Mis bisabuelos llegaron a usar isql que es mucho mas antiguo aún. Antes de eso...creo que era el assembler.

Primeros pasos en sqlcmd
Si tiene una instancia por defecto solo tiene que presionar Inicio>ejecutar escribir sqlcmd.
Si todo sale bien le va aparecer un numerito bonito como este:
1>








Si usted quiere entrar a otra instancia o loguearse con otros usuarios tiene que escribir:
Sqlcmd –S Nombre_instancia. Donde el nombre de su instancia es la que usted instaló. Para saber más sobre comandos, instancias y logueo consulte este link:

http://msdn.microsoft.com/es-es/library/ms162773.aspx

Para crear una base de datos en sqlcmd:
1>create database Daniel
2>go


El famoso go hay que ponerlo siempre al final de cualquier sentencia. Personalmente no me agrada.

Para moverse a una base de datos



1> use Daniel
2> go

Se cambió el contexto de la base de datos a 'daniel'.
Se pone use y el nombre de la base de datos.

Para crear una tabla usando sqlcmd (línea de comandos)
/*crea una tabla llamada table1 con la columna column1*/
1> create table table1
2> (
3> column1 int
4> )
5> go


Para insertar valores en una tabla con sqlcmd (línea de comandos)

1> insert into table1 values (20)
2> go

(1 filas afectadas)

Para mostrar los valores de una tabla mediante línea de comandos (select)
1> select * from table1
2> go

column1
-----------
20

(1 filas afectadas)
Ahora vamos a algo un poco más elaborado.

Para llamar a un script de SQL Server desde la línea de comandos (sqlcmd de SQL Server)

1. Crear un script en el SQL Server Management Studio que se llame insert.sql
2. En el archivo insert.sql escriba esto:
----------------------------------------------------------------------

/*Para crear una base de datos en SQL Server*/
CREATE DATABASE DANIEL2
USE daniel2
go

/*Para crear una tabla en SQL Server*/
create table estudiante
(
nombre varchar(12),
nota int
)

/*Para insertar datos en SQL Server*/
Insert into estudiante values ('Jonas',58)
Insert into estudiante values ('Juan',36)
Insert into estudiante values ('Johny',49)
------------------------------------------------------------------
3. Esto es MUY IMPORTANTE: Salga del SQLCMD (con exit)
4. Ejecute esto:
C:\Documents and Settings\Administrador>sqlcmd -i c:\insert.sql
Asegúrese que su script está en el c:, si no vea la ruta correcta. Es muy común tratar de poner en un path con espacios en el nombre. –i es el imput que en este caso es el script.
Si todo salió bien, se creó una base de datos Daniel2, una tabla estudiante y se insertaron 3 datos en la tabla.

Para pasar parámetros usando sqlcmd (línea de comandos SQL Server)

Vamos a trabajar con la tabla estudiante creada en la sección anterior.
Vamos a hacer un select donde la nota sea la variable. Es decir voy a mostrar los alumnos cuya nota sea una variable:

1. Crear un script llamado consultavar.sql
----------------------------------------------------------------------
/****** Script para el comando Select*/
SELECT [nombre]

FROM [daniel2].[dbo].[estudiante]
/*la variable es la palabra nota con el $ y el paréntisis*/
WHERE nota=$(nota)
GO

2. Poner inicio, ejecutar>cmd
3. En el cmd ejecutar esto:
C:\Documents and Settings\Administrador>sqlcmd -i c:\consultavar.sql -v nota=58
nombre
------------
Jonas

(1 filas afectadas)


Analicemos la línea:
sqlcmd -i c:\consultavar.sql -v nota=58
Es ejecutar la línea de comandos sql server usando como entrada el script consultarvar.sql.
Véa el código del script.
WHERE nota=$(nota)

Nuestra variable se llama nota y tiene una $(nota)
Entonces si vario la nota, me aparecerá otro estudiante.
nombre nota
------------ -----------
Jonas 58
Juan 36
Johny 49
Si yo coloco
sqlcmd -i c:\consultavar.sql -v nota=36
Me aparecerá Juan.
Si tienen más dudas o necesitan ayuda en sqlcmd, no duden en hablarme.
Gracias.

Artículos relacionados