dsquery

5

Click here to load reader

Upload: francisco-vargas-rosario

Post on 06-Aug-2015

155 views

Category:

Documents


2 download

DESCRIPTION

DsQuery Active Directory

TRANSCRIPT

Page 1: DSQuery

Dsquery y comandos en Active DirectoryArchivado en Active directory, Active Directory, Comandos, Power Shell,Troubleshooting, Troubleshooting, Windows Server — 1 comentario

8 septiembre, 2011

En este post  empezaremos a tratar  de explicar las consultasy modficiiones del Active

Directorya traves de linea de comandos, de esta manera obtendriamos varias ventajas como 

poder simplificar la administracion del mismo ademas de poder obtenerinformacion que no

podriamos obtener del entorno grafico. Con este metodo hasta podriamos crear cientos de

usuarios, con sus respectivos, permisos, contrasenas importandolas de un  Excel, realizar

inventarios de las pcs en segundos, crear listas segun que sistema operativo tienen….entre

muchisimas otras cosas…

Para comenzar un poquito de teoria

DSQUERY

Es una Consulta al AD mediante el uso de criterios de búsqueda . Cada uno de los comandos

dsquery encuentra objetos de un tipo de objeto específico, con la excepción de dsquery *, que

puede consultar cualquier tipo de objeto

Dsquery es una herramienta de línea de comandos que está integrado en Windows Server

2008. . Para utilizar dsquery, debe ejecutar el comando dsquery desde un símbolo del sistema

con privilegios elevados. Para abrir un símbolo del sistema con privilegios elevados, haga clic

en Inicio, haga clic en Símbolo del sistema y, a continuación, haga clic en Ejecutar como

administrador.

REDIRECCION CON | (PIPE)

Puede redireccionarse el resultados de las  DSQUERY a por ejemplo DSMOD con el fin de

modificar un objeto.

Veamos un ejemplo simple:

“‘C:\> dsquery computer -inactive 4″” Con este comando consultamos todas las pcs que

estuvieron inactivas las ultimas 4 semanas

Page 2: DSQuery

“‘C:\>dsmod computer * -disabled yes”" COn este comando reemplazando el * por el

“”nombre” de una pc, podriamos desactivarla la computadora en cuestion.

Bueno ahora utilizaremos el | (pipe)

C:\> dsquery computer -inactive 4 | dsmod computer -disabled yes

Que estamos diciendo con este comando? Traeme todas las pcs que estuvieron inactivas en

las ultimas semanas, el Pipe realiza la redireccion del ID de todas estas pcs al segundo

comando que es dsmod (comando que sirve para modificar un atributo de obetos) y las

deshabilita.

DSGET

Muestra las propiedades de un equipo en el directorio. Hay dos variaciones de esta orden. La

primera variación se muestran las propiedades de varios equipos. La segunda variación

muestra la información de la pertenencia a un solo equipo.

Ejemplo, poder ver la descripcion de todas las computadoas que comienzan con marketing de

la ou ventas.

dsquery computer OU=ventas,DC=Argentina,DC=Com -name marketing* |

dsget computer -desc

Bueno despues de la teoria seguimos con mas teoria 

Dsquery computer

Syntaxis

DSQuery Computer [{StartNode | forestroot | domainroot}]

[-o {dn | rdn | samid}] [-scope {subtree | onelevel |

base}]

Page 3: DSQuery

[-name Name] [-desc Description] [-samid SAMName] [-

inactive NumberOfWeeks]

[-stalepwd NumberOfDays] [-disabled]

[{-s Server | -d Domain}] [-u UserName] [-p

{Password | *}]

[-q] [-r] [-gc] [-limit NumberOfObjects] [{-

uc | -uco | -uci}]

Key

StartNode | forestroot | domainroot The node in the console

tree where the search starts.

forestroot = search using

the global catalog.

-o The format used to display the search results.

dn = distinguished name.

rdn = relative distinguished name.

samid = Security Accounts Manager (SAM) account

name.

-scope The scope of the search:

subtree = subtree that is rooted at the start

node in the console tree.

onelevel = immediate children of the start node

only.

base = single object that the start node

represents.

If forestroot is the StartNode, then subtree is

the only valid scope.

-name Search for computer(s) whose name attribute(CN)

matches Name.

For example, "br*"

-desc Search for computer(s) whose description matches.

For example, "dell*"

Page 4: DSQuery

-samid Search for computer(s) whose SAM account names

match SAMName

-inactive Search for computer(s) that have been inactive

for N number of weeks

-stalepwd Search for computer(s) whose passwords have not

changed for n number of days.

-disabled Search for computer(s) whose accounts are

disabled.

-s Server to connect to (Default=the domain controller

in the logon domain.)

-d Domain to connect to.

-u Username with which the user logs on to a remote

server.

-p Password (UserName or Domain\UserName or

[email protected])

-q Quiet, suppress all output

-r Recursive search (follow referrals)

-gc Use the AD global catalog during the search.

-limit The maximum number of objects to return, default=100.

-uc Unicode format

-uco Unicode format for output only

-uci Unicode format for input only

Bueno vayamos a la parte divertida

Ejemplos:

En contrar todas las pcs que comienzan con ventas, suponiendo que la tenemos nombradas

por sector ventas01, ventas02…

C:\> dsquery computer -name ventas*

Encontras todas las computadoras de la ou(unidad organizativa) Mendoza.

C:\> dsquery computer ou=Mendoza,ou=Workstations,dc=argentina,dc=com

Page 5: DSQuery

Encontrar pcs con 4 semanas de inactividad:

C:\> dsquery computer -inactive 4

Encontrar las pcs con 4 semanas de inactividad y deshabilitarlas:

C:\> dsquery computer -inactive 4 | dsmod computer -disabled yes

Estos comandos pueden sernos muy utiles para poder realizar inventarios,

ahorrandonos muchisimo tiempo 

dsquery computer -name * | dsget computer -samid

Que le esstmos pidiendo? Que nos traiga todas las pcs, no importa cual sea el nombre y que

nos devuelva el samid (nombre en la sam, por ejemplo servidor1)

COmo podemos exportar esto a un Notepad, excel?

dsquery computer -name * | dsget computer -samid > c:\pclist.txt

Agregandoles “”> c:\*.txt” nos exporta el resultado a un archivo de texto. >)

Obtener un listado de las computadoras segun que sistema operativo tienen

dsquery * domainroot -filter “(&(objectCategory=computer)(operatingSystem=Windows

Server*))” | dsget computer -samid

Donde dice windows server *, podemos cambiarlo por ”windows seven” o “”windows xp”"

Bueno esto es todo por hoy, espero que les haya sido de utilidad,  se puede consutar casi

cualquier cosa del AD, les dejo un enlace a microsoft para que sigan investigando: