
Michael Cain
0
1653
288
Ya sea que sea un analista de TI o un usuario habitual de computadoras, hay muchas tareas que puede necesitar realizar con frecuencia en su PC. Las secuencias de comandos VB se reducen los programas de Visual Basic que sirven como secuencias de comandos de Windows que pueden hacer cualquier cosa, desde obtener información importante sobre el hardware de su computadora, hasta detener e iniciar servicios o restablecer su tarjeta de red.
Es posible aprender cómo hacer todas esas cosas individuales de la manera normal, o hacerlas usando archivos por lotes. Pero las secuencias de comandos VB son mejores que las secuencias de comandos por lotes Better Than Batch: A Windows Scripting Host Tutorial Better Than Batch: A Windows Scripting Host Tutorial porque son más flexibles. Si almacena los siguientes scripts en un lugar común al que puede acceder rápidamente cuando lo necesite, puede realizar estas tareas en una fracción del tiempo. Simplemente haga doble clic en el script, responda un mensaje y la tarea estará lista.
Eche un vistazo a los siguientes scripts de Windows VB y si ve alguno que le gustaría usar, simplemente copie y pegue el script en el Bloc de notas u otra herramienta de codificación de notas. Las 7 mejores aplicaciones para tomar notas para programadores y codificadores. Tomar aplicaciones para programadores y programadores Mantenerse organizado como programador puede ser difícil. Estas son las mejores aplicaciones para tomar notas diseñadas teniendo en cuenta a los programadores y desarrolladores. y guárdelo como un archivo WSF.
Prepare sus scripts de Windows
Cada uno de los scripts detallados a continuación se ejecutará con solo un doble clic siempre que haya nombrado el archivo con la extensión .WSF, y también ha incluido el código al principio con:
Y cierre el código con:
WScript.Quit
Esto garantiza que Windows reconocerá el idioma en el que está escrito su script y lo procesará correctamente..
1. Utilice los scripts de Windows para obtener información de la computadora
Windows ofrece algo llamado WMI, o Instrumental de administración de Windows, que proporciona a su script una interfaz para acceder a los componentes del sistema operativo. En realidad, puede ejecutar consultas contra WMI para obtener información en vivo actual sobre su sistema. Microsoft ofrece una lista completa de todas las categorías de consultas que puede realizar contra el sistema.
Hemos cubierto cómo usar VBA para extraer información de la computadora en Excel Cómo ver toda la información de su PC usando un script simple de Excel VBA Cómo ver toda la información de su PC usando un script Excel Excel VBA Excel y 10 minutos de trabajo le darán más información detallada sobre su computadora de lo que nunca pensó posible. Suena demasiado bueno para ser verdad? Eso es Windows, si sabes cómo usarlo. , pero puede hacer lo mismo con un simple script VB fuera de Excel.
En este ejemplo, vamos a consultar el sistema para obtener información del procesador (familia, fabricante y número de núcleos), información de la batería Cómo ahorrar batería en Windows 10 con Power Throttling Cómo ahorrar batería en Windows 10 con Power Throttling Microsoft introdujo la limitación de potencia que brinda a los usuarios de Windows más control sobre cómo las aplicaciones individuales manejan el consumo de batería mientras se ejecutan en segundo plano. (descripción y estado) e información lógica del disco Cómo ahorrar espacio en disco en Windows 10 Cómo ahorrar espacio en disco en Windows 10 En términos de requisitos de espacio en disco, Windows 10 es francamente glotón. Perder 20 GB en un SSD pequeño puede ser frustrante. Afortunadamente, puede reducir la huella de Windows 10 y recuperar parte de ese espacio. (nombre, espacio libre restante y tamaño total). Luego enviaremos toda esta información a un archivo CSV para una fácil visualización.
El primer paso es configurar el FileSystemObject que usará para generar el archivo CSV y crear el archivo:
Establecer oFSO = CreateObject ("Scripting.FileSystemObject") sFile1 = "MyComputerInfo.csv" Establecer oFile1 = oFSO.CreateTextFile (sFile1, 1)
El siguiente paso es configurar la consulta WMI y ejecutarla:
strQuery = "SELECT Family, Manufacturer, NumberOfCores FROM Win32_Processor" Establecer colResults = GetObject ("winmgmts: //./root/cimv2") .ExecQuery (strQuery)
Finalmente, clasifique los resultados y envíe la información al archivo CSV. Si quieres ser elegante, prefacio esto con un par de líneas para ayudar a que tu archivo de salida se vea mejor:
oFile1.WriteLine "Información del procesador" oFile1.WriteLine "------" Para cada objResult In colResults strResults = "Familia:," + CStr (objResult.Family) oFile1.WriteLine strResults strResults = "Fabricante:," + CStr (objResult.Manufactr) oFile1.WriteLine strResults strResults = "Número de núcleos:" + CStr (objResult.NumberOfCores) oFile1.WriteLine strResults Siguiente
Si ejecuta su código ahora, así es como se verá su salida:
Para las siguientes dos secciones de su código, solo va a repetir y cambiar la consulta para buscar información adicional. Aquí está la consulta de información de la batería:
oFile1.WriteLine "" strQuery = "SELECCIONE Descripción, Estado DESDE Win32_Battery" Establezca colResults = GetObject ("winmgmts: //./root/cimv2") .ExecQuery (strQuery) oFile1.WriteLine "Información de la batería" oFile1.WriteLine "- ---- "Para cada objResult en colResults strResults =" Estado:, "+ CStr (objResult.Description) oFile1.WriteLine strResults strResults =" Descripción:, "+ CStr (objResult.Status) oFile1.WriteLine strResults Siguiente
Y aquí está la siguiente sección para la consulta del disco lógico:
oFile1.WriteLine "" strQuery = "Seleccionar nombre, espacio libre, tamaño de Win32_LogicalDisk" Establecer colResults = GetObject ("winmgmts: //./root/cimv2") .ExecQuery (strQuery) oFile1.WriteLine "Información del disco" oFile1.WriteLine " ------ "'Identifique el espacio de disco lógico para cada objResult en colResults strResults =" Nombre:, "+ CStr (objResult.Name) oFile1.WriteLine strResults strResults =" Espacio libre:, "+ CStr (objResult.FreeSpace ) oFile1.WriteLine strResults strResults = "Tamaño del disco:," + CStr (objResult.Size) oFile1.WriteLine strResults Siguiente
Finalmente, recuerde cerrar el código cerrando el archivo y estableciendo los objetos en “Nada”:
oFile1.Close Set oFile1 = Nothing set colResults = Nothing strResults = ""
Coloque todo ese código en su nuevo archivo .WSF, ejecútelo y así se verá su salida:
Simplemente cambie las consultas anteriores por cualquier otro dispositivo o software informático sobre el que desee obtener información, y puede obtener un informe completo del sistema Cómo crear un sistema automatizado de informes de salud de PC Cómo crear un sistema automatizado de informes de salud de PC almorzar mientras tu móvil te alerta de un mensaje de texto importante. El SMS dice: "Alerta de computadora en casa: 3 intentos de piratería". ¡Esto no es ficción! ¡Permítanos mostrarle cómo hacer esto! cuando quieras con solo un clic del mouse.
2. Detener e iniciar servicios
Habrá momentos en que ciertos servicios tengan problemas y requieran solo un reinicio rápido para volver a funcionar correctamente. Esto es especialmente cierto en TI Antes de estudiar TI, saber en qué te estás metiendo Antes de estudiarlo, saber en qué te estás metiendo en la tecnología de la información (TI) se ha convertido en una elección de carrera tan extendida. Pero pocas personas realmente saben qué es TI y qué implica su disciplina. cuando se ve obligado a ejecutar software de servidor que a veces es un poco defectuoso.
Si desea ahorrar un minuto más o menos del proceso de reinicio del servicio, simplemente guarde el siguiente script en un lugar conveniente. Le pedirá que escriba el nombre del servicio que desea reiniciar, y luego hará exactamente eso.
Dado que detener e iniciar servicios requiere privilegios administrativos, debe colocar el siguiente código al comienzo de su secuencia de comandos para otorgarle privilegios elevados:
Si no es WScript.Arguments.Named.Exists ("elevate") Entonces CreateObject ("Shell.Application"). ShellExecute WScript.FullName _, "" "" & WScript.ScriptFullName & "" "/ elevate", "", " runas ", 1 WScript.Quit End If
Una vez hecho esto, agregue el resto del código para ejecutar el cuadro de entrada para la entrada del usuario, inicie la ventana de comandos y envíele el “parada neta” y “comandos de inicio neto”:
Establezca cmdShell = CreateObject ("WScript.Shell") strServiceName = Inputbox ("Inter Service to Stop", "Input Required") cmdShell.Run "cmd.exe" WScript.Sleep 1000 cmdShell.SendKeys "net stop" + strServiceName cmdShell. SendKeys "Enter" WScript.Sleep 1000 cmdShell.SendKeys "net start" + strServiceName cmdShell.SendKeys "Enter" WScript.Sleep 1000 cmdShell.SendKeys "Salir" cmdShell.SendKeys "Enter"
Eso es todo al respecto. No es necesario buscar la herramienta de servicios. Simplemente ejecute este script y pare e inicie cualquier servicio en segundos.
3. Cambiar la configuración del registro, contraseña de administrador predeterminada
Con el siguiente script, vamos a matar dos pájaros de un tiro. Este script le mostrará cómo editar el registro 5 Ajustes del registro de Windows 10 para mejorar y desbloquear las características 5 Ajustes del registro de Windows 10 para mejorar y desbloquear las características El editor del registro es la única forma de habilitar algunas de las funciones ocultas de Windows 10. Aquí le mostraremos ajustes sencillos, como habilitar el tema oscuro o ocultar carpetas. con un script VB También le dará una secuencia de comandos que le permitirá establecer el nombre de usuario y la contraseña predeterminados de Windows editando la configuración del registro.
Así es como funciona. Primero, dado que la edición del registro requiere derechos de administrador, deberá configurar privilegios elevados para su script:
Si no es WScript.Arguments.Named.Exists ("elevate") Entonces CreateObject ("Shell.Application"). ShellExecute WScript.FullName _, "" "" & WScript.ScriptFullName & "" "/ elevate", "", " runas ", 1 WScript.Quit End If
Primero ejecute dos cuadros de entrada para preguntarle al usuario qué nombre de usuario y contraseña usar:
strUserName = Inputbox ("Ingrese el nombre de usuario predeterminado", "Input Required") strPassword = Inputbox ("Ingrese la contraseña predeterminada", "Input Required")
A continuación, configure el objeto de shell y escriba esos valores en las claves de registro apropiadas:
Establezca wshShell = CreateObject ("WScript.Shell") wshShell.RegWrite "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ DefaultUserName", strUserName, "REG_SZ" wshShell.RegWrite "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ DefaultPassword ", strPassword," REG_SZ "Establecer wshShell = Nada
Y eso es todo lo que hay que hacer. los “RegWrite” El método le permite escribir cualquier valor en cualquier clave de registro utilizando un script VB de Windows. Todo lo que tienes que saber es el camino apropiado..
Ejecute el script y responda las indicaciones..
Los valores que ingrese se insertarán directamente en la configuración del registro que configuró en el script.
Juega con el guión y modifícalo a tu gusto. Puede editar cualquier clave de registro que desee, así que sea creativo!
4. Restablezca su conexión de red
Restablecimiento de la conexión de red mediante secuencias de comandos VB Cómo escribir un script de Windows para cambiar la configuración de red sobre la marcha Cómo escribir un script de Windows para cambiar la configuración de red sobre la marcha En muchas oficinas o entornos de trabajo, es posible que deba redefinir la configuración de red para conectarse a diferentes redes. Me encontré en esta situación con la suficiente frecuencia, y me cansé de buscar ... es algo que hemos cubierto antes aquí en MakeUseOf. La siguiente versión de esto está realmente reducida y es mucho más simple de implementar. En lugar de solicitar tarjetas de red individuales, restablece todas sus conexiones activas, lo que con suerte resolvería cualquier problema de red que pueda tener..
Al igual que con otras secuencias de comandos que necesitan derechos de administrador, deberá agregar la sección al inicio para obtener privilegios elevados. Copie ese código del script anterior.
A continuación, cree el objeto WMI y solicite una lista de adaptadores de red habilitados en su sistema:
strComputer = "." Establecer objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ CIMV2") Establecer colItems = objWMIService.ExecQuery (_ "SELECT * FROM Win32_NetworkAdapter Where NetEnabled = 'True'")
Finalmente, recorra todos los adaptadores habilitados y reinícielos:
Para cada objItem en colItems objItem.Disable WScript.Sleep 1000 objItem.Enable Next
Esto restablecerá todos sus adaptadores de red activos. 8 Comandos CMD para administrar redes (inalámbricas) en Windows 8 Comandos CMD para administrar redes (inalámbricas) en Windows Si desea un control total y absoluto sobre su red, entonces deberá comenzar a usar Símbolo del sistema Estos son los comandos más útiles para administrar y solucionar problemas de su red doméstica. , que a menudo es la forma más rápida de resolver problemas de red molestos. Mantenga este script a mano y pruébelo primero cada vez que tenga una red lenta u otros problemas de red extraños..
5. Hacer ping a dispositivos o sitios web
He guardado mi script de Windows VB favorito para el final. Esta es una que configuré como una tarea programada en la computadora de mi casa y la ejecuté varias veces al día solo para verificar si mi sitio web está activo. 3 formas de averiguar si su sitio web favorito está inactivo. El sitio web favorito está inactivo Hay algunos sitios web que se dedican simplemente a responder la pregunta básica que eventualmente se preguntará: "¿Este sitio web está inactivo?" Aquí, tenemos tres de estos sitios web, y todos son ... Tengo el script que me envía un correo electrónico si el sitio está caído. Puede usar este mismo script para monitorear servidores o computadoras importantes en su red y enviarse un correo electrónico cada vez que su script no pueda hacer ping al dispositivo.
Primero, configure el script para el destino al que desea hacer ping, cree el objeto de shell y luego ejecute el comando ping.
strTarget = "topsecretwriters.com" Establecer WshShell = WScript.CreateObject ("WScript.Shell") Ping = WshShell.Run ("ping -n 1" & strTarget, 0, True)
Use una instrucción Seleccionar caso para ejecutar los resultados de Ping y responder en consecuencia. Si los resultados vuelven a cero, entonces sabe que el sitio (o servidor) está en línea y no tiene que hacer nada. Si devuelve un “1” entonces el ping falló y debes hacer algo. En mi caso, envío un correo electrónico utilizando el objeto CDO de Windows:
Seleccionar caso Ping Caso 0 Caso 1 Establecer objMessage = CreateObject ("CDO.Message") Establecer objConfig = CreateObject ("CDO.Configuration") objConfig.Load -1 Establecer Flds = objConfig.Fields With Flds .Item ("http: // schemas.microsoft.com/cdo/configuration/smtpusessl ") = True .Item (" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")=1 .Item ("http://schemas.microsoft. com / cdo / configuration / sendusername ") =" [email protected] ".Item (" http://schemas.microsoft.com/cdo/configuration/sendpassword")="xxxxxxxxxxxxxxxxx ".Item (" http: // schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.gmail.com ".Item (" http://schemas.microsoft.com/cdo/configuration/sendusing")=2 .Item ("http: //schemas.microsoft.com/cdo/configuration/smtpserverport")=465 .Actualizar Finalizar con objMessage configurado .Configuration = objConfig .Subject = "Su sitio está fuera de línea" .From = "[email protected]" .To = "[email protected]" .TextBody = "Hola, su sitio web está desconectado". .Enviar Fin con Fin Seleccionar
Una vez que el script se ejecuta y no puede hacer ping al dispositivo o sitio web, recibe un mensaje instantáneo.
Es rápido y fácil, y cada eficiente!
Uso de scripts de Windows VB para controlar su computadora
Estos son solo algunos ejemplos de algunas de las cosas interesantes que puede hacer con las secuencias de comandos VB para optimizar el uso de su computadora. Hay muchas otras cosas que puede hacer, como copias de seguridad automáticas con VB y Synctoy. Cómo crear una herramienta de copia de seguridad de datos con SyncToy y VB Script Cómo crear una herramienta de copia de seguridad de datos con SyncToy y VB Script. Hemos cubierto muchas soluciones de copia de seguridad aquí. en MUO, y todas estas soluciones son geniales, pero si está trabajando en un entorno que desconfía de los paquetes de software gratuitos de terceros, o de las empresas ..., automatiza los comandos de telnet Cómo automatizar los comandos de Telnet con VB Script Cómo automatizar los comandos de Telnet Usar VB Script Writing trabajos por lotes y, más recientemente, scripts de Windows es una actividad que realmente representa la mayor parte de cómo la gran mayoría de los administradores de redes y sistemas realizan sus trabajos más rápido, y simplifican lo que ... o incluso abren y controlan las aplicaciones Windows 3 Ways Para abrir aplicaciones y Windows maximizado con VB Script [Windows] 3 formas de abrir aplicaciones y Windows maximizado con VB Script [Windows] Si hay algo que me encanta hacer, es escribir VB scripts. Ya sea que se trate de un archivo de secuencia de comandos de Windows o una secuencia de comandos VBA dentro de una aplicación, la secuencia de comandos proporciona la capacidad de agregar funcionalidad a las aplicaciones ... .
¿Cuáles son algunas de las cosas que ha automatizado en su computadora con un script de Windows? ¿Escribes el tuyo usando VB, o usas alguna otra herramienta como los Cmdlets de PowerShell Powershell que mejorarán tus habilidades de administrador de Windows Cmdlets de Powershell que mejorarán tus habilidades de administrador de Windows Powershell es una herramienta de línea de comandos y lenguaje de scripts a partes iguales. Le brinda la capacidad de automatizar su computadora a través de los mismos comandos que usa para administrarla. ?