44 votos

PowerShell? Usted lo utiliza? ¿Me puede mostrar algo de fresco de administración del sistema de cosas que puedo hacer con ella?

Sigo leyendo en todas partes que PowerShell es el camino del futuro. Cuando fue lanzado por primera vez hice un montón de laboratorios virtuales, pero desde entonces no he utilizado en un entorno de producción. Sé que llegará el día en que me estoy tratando con un sistema operativo donde ya está instalada, así que quiero estar listo.

Quiero saber:

  1. Usted lo utiliza?
  2. Lo que ha su 'bootstrapping' proceso de estado para el uso de PowerShell?
  3. ¿Qué tipo de tareas de administración del sistema ha suscrito con el?
  4. Soy un administrador de base de datos SQL Server. ¿Cuáles son algunas cosas interesantes para hacer con él?

Parece que todo el mundo está de acuerdo en que Microsoft está empujando así de duro, pero nadie está utilizando todavía. Quiero saber de los administradores del sistema que están utilizando para hacer las tareas de cada día y compartir algunos ejemplos de código.

34voto

sysadmin1138 Puntos 86362

Microsoft está haciendo todo lo posible para hacer de PowerShell de la elección de los usuarios avanzados de automatización y escritores de todas partes. Atrás han quedado los días de la compilación de código .NET con el fin de hacer la misma cosa, ahora sólo falta que notepad.exe y google. Somos grandes fans de ella en la oficina, especialmente desde Exchange 2007 de la Consola de Administración NO incluyen todo lo que usted puede hacer en PowerShell. Microsoft error deliberadamente para implementar cosas que hacer una vez en un gran tiempo, más fácil desarrollar de esa manera, que francamente fuerzas de su uso si usted tiene cualquier cosa que se asemeja a un entorno complejo.

Administración de Microsoft la nueva generación de productos (Win7, Windows Server 2008, Exchange 2007/2010, SQL Server 2008), todas tienen muy rica PowerShell ganchos. Una vez Powershell Remoto (PowerShell 2.0 IIRC) que se ha implementado con Server 2008 R2, que va a ser aún MÁS útil para la automatización de los escritores.

Lo que hemos hecho con ella:

  • Crear una página web para delegar ciertas tareas administrativas al departamento de soporte técnico a los usuarios. La página web de los incendios fuera de comandos que se ejecutan en PowerShell. Cosas que hace:
    • Crear y eliminar cuentas de usuario, incluyendo el aprovisionamiento de buzones de Exchange 2007 y directorios de inicio
    • Desbloquea bloqueado las cuentas de
    • Crear/eliminar grupos
    • Agregar/quitar usuarios de los grupos de
    • Los usuarios se mueven entre el correo-tiendas
    • Establecer contraseñas
  • Tomar extractos del sistema ERP y de la inserción global de la libreta de direcciones de datos en Active Directory por la noche.
  • Resolver el LegacyExchangeDN problema que surge con nuestro Exchange 2003 a Exchange 2007 de la migración. Tuvo que agregar una dirección X500 a todo el mundo que solía ser en Exchange 2003. Una breve secuencia de comandos de PowerShell fijo.
  • Secuencias de comandos de creación de grupo de la "buzones" (compartido buzones de correo de Exchange, en la que varios usuarios tengan acceso al buzón de correo), un manual de proceso debido a la naturaleza de los datos que necesitamos, antes de empujarla fuera. Que en gran medida estandarizada de la instalación de estos buzones.
  • Crea un script que caminó a través de todos los domained máquinas restablecimiento de una clave del registro específico y el reinicio de un servicio. Tardó 18 horas para completar, pero se hizo el trabajo.

Así que sí, PowerShell va a estar con nosotros durante bastante tiempo.

EDIT: la Adición de un código de ejemplo, ya que fue solicitado

$lista=importación de csv("groupusers.csv")
$lastseengroup=$lista[0].grupo
$ADGroupPrefix="grp.netware."
$ADGroupSuffix="{censurada -- en el formato ,ou=groups,dc=dominio,dc=dominio,dc=domain}"
Claro Variable de la lista de miembros
Claro-Variable unknownusers
foreach ($entrada en $lista) {
 if ($($entrada.grupo) -ne $lastseengroup) {
 echo "tropecé con nuevo grupo de dólares($entrada.grupo), la confirmación de cambios a $lastseengroup"
$newgroup=$ADgroupPrefix+$lastseengroup
$newgroupdn='"'+"cn=$newgroup$ADGroupSuffix"+'"'
 echo "obtención de DN por $newgroup"
 $existinggroup=dsquery grupo domainroot-nombre $newgroup
 if (($existinggroup-ne $null)) {
 dsmod grupo $newgroupdn-chmbr $lista de miembros
 } else {
 dsadd grupo $newgroupdn-ámbito de aplicación u-secgrp sí-miembros $lista de miembros-desc "Grupo de importados de eDirectory"
}
 Claro Variable de la lista de miembros
}
 $Usuario=get-usuario $($entrada.miembro) -ErrorAction SilentlyContinue
 if ($Usuario.isvalid) {
$Dnusuario=$Usuario.distinguishedname
 $lista de miembros=$lista de miembros+'"'+"$Dnusuario"+'" '
 } else {
$unknownusers=$unknownusers+$($entrada.miembro)
}
$lastseengroup=$($entrada.grupo)

}
dsadd grupo "cn=$ADGroupPrefix$lastseengroup$ADGroupSuffix" -ámbito de aplicación u-secgrp sí-miembros $lista de miembros

Esto lleva a un archivo CSV creado con un script de perl y actualiza un conjunto de grupos. Si el grupo ya existe, que sustituye a los miembros que se especifica en el archivo. Si el grupo no existe, lo crea. Esta es una forma de sincronización. También, no muy en la producción, pero cerca.

17voto

moobaa Puntos 392

Dado que Microsoft servidor de los productos van a ser PowerShell habilitado desde el principio (creo que la próxima versión de Exchange tiene todas las de configuración disponibles a través de PowerShell), y que los libros como PowerShell en la Práctica se describen algunas grandes maneras de automatizar lo contrario tareas monótonas, creo que es razonable sugerir que PowerShell será una de las principales de la tecnología en Windows serverland por un tiempo.

12voto

Darren Greaves Puntos 1500

Me gustaría recomendar Scott Hanselman el Podcast de #162. Parece que todo el servidor de Microsoft equipos están "obligados" a proporcionar los cmdlets de PowerShell, y también para seguir un único y coherente de la sintaxis.

También, a terceros, como VMWare están en adopción

En resumen, creo que PowerShell comenzando con la versión 2.0 es en serio en el negocio de la colocación de archivos de proceso por lotes para todos, pero la mayoría de las tareas triviales.

8voto

MobileCushion Puntos 685

¿Qué tipo de tareas de administración ha suscrito con el?

aplicación/servicio de monitoreo: obtener clave de rendimiento número de (a distancia) Registro y los Procedimientos Almacenados y las mostrará a partir de un único archivo de proceso por lotes

Soy un SQL Server DBA, enseñarme algunas cosas interesantes para hacer con él?

automssqlbackup: copia de seguridad diaria para MSSQL con rotación (diario=incremental, semanal+mensual=completa; mantener 5 diario, 5 copias de seguridad semanales), la calma, la notificación de correo electrónico

1voto

Chad Miller Puntos 783

Diez secuencias de comandos de PowerShell puedo usar como una base de datos SQL Server administrator (todos son descritos/publicado en mi blog):

  1. Comprobar el espacio de disco en todos los Servidores SQL y carga de datos en una tabla de SQL
  2. Permisos de ejecución informes sobre la producción de todos los Servidores SQL y carga de datos en una base de datos SQL
  3. Descubra todo lo de Windows Server 2003, los clusters, los nodos, y virtuals en la red y de la carga a las tablas SQL
  4. Descubre todas las bases de datos en todos los Servidores SQL, como se define en SCCM y la carga a una tabla de SQL
  5. Crear una copia de seguridad de SQL Server cuadro de mandos por la carga de información de copia de seguridad a través de todos los Servidores SQL a una tabla de SQL
  6. Compruebe que el Motor de Descarga TCP está deshabilitado en Windows Server 2003 service pack 2 (esto es un rendimiento asesino para muchos Servidores SQL)
  7. Verificar la Partición del Disco alineaciones (también un rendimiento asesino si los discos están alineados incorrectamente)
  8. Copiar tablas SQL de un servidor a otro
  9. Recursivley copiar todos SSIS paquetes utilizando una base de datos MSDB de Almacenamiento de un servidor a otro, incluyendo la estructura de carpetas
  10. Crear mi propia gráfica de la dependencia de los objetos del visor

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: