Porque al mandar un .bat por una consola de administración, no aparece resultado alguno de un IF EXIST

Hice un .bat para mandarlo vía KSC kaspersky security center, pero cuando lo ejecuto de forma local el comando si funciona, lo cual no pasa cuando lo mando vía ksc.

En síntesis debe traer un resusltado de ospp.vbs \dstatus y mandarlo a un txt por medio de un >>

¿No había algún comando que fuerce esta salida a un txt append?

Este seria el comando.

IF EXIST "C:\Program Files (x86)\microsoft office\office16\ospp.vbs" (
    cscript "C:\Program Files (x86)\microsoft office\office16\ospp.vbs" /dstatus >>\\ws12\licenses\ListOfLastsFiveOffice.txt ) ELSE (
        IF EXIST "C:\program files (x86)\microsoft office\office15\ospp.vbs" (
            cscript "C:\program files (x86)\microsoft office\office15\ospp.vbs" /dstatus >>\\ws12\licenses\ListOfLastsFiveOffice.txt ) ELSE (
                IF EXIST "c:\program files\microsoft office\office15\ospp.vbs" (
                    cscript "C:\program files\microsoft office\office15\ospp.vbs" /dstatus >>\\ws12\licenses\ListOfLastsFiveOffice.txt ) ELSE (
                        IF EXIST "c:\program files (x86)\microsoft office\office14\ospp.vbs"  (
                            cscript "c:\program files (x86)\microsoft office\office14\ospp.vbs" /dstatus >>\\ws12\licenses\ListOfLastsFiveOffice.txt ) ELSE (
                                IF EXIST "c:\program files\microsoft office\office14\ospp.vbs" (
                                    cscript "c:\program files\microsoft office\office14\ospp.vbs" /dstatus >>\\ws12\licenses\ListOfLastsFiveOffice.txt ) ELSE (
                                        IF EXIST "C:\Program Files\microsoft office\office16\ospp.vbs" (
                                            cscript "C:\Program Files\microsoft office\office16\ospp.vbs" /dstatus >>\\ws12\licenses\ListOfLastsFiveOffice.txt ) ELSE (
echo "no hay licencias disponibles" >>\\ws12\licenses\ListOfLastsFiveOffice.txt
                                ))))));

1 respuesta

Respuesta
1

No creo que pueda aportarte nada porque no tengo ni idea de lo que supone "mandar un bat por vía ksc" ni entiendo bien a que te refieres con "un comando que fuerce una salida a un txt append". Pero sea lo que sea lo primero, te sugiero que pruebes el comando de uno de los IF EXIST que exista, directamente por esa "vía ksc" a ver que pasa. En cuanto a lo segundo yo diría que lo que pides es, precisamente, lo que haces: la redirección ">>" añade ("append") la salida del comando previo al archivo (TXT) que se indica. Si crees que puedo aportarte algo no dudes en intentar que entienda y pueda probar algo parecido a lo que pretendes, a ser posible en un entorno "sencillito"

¡Gracias!.

El KSC es una consola de administración de antivirus. Tiene tareas las cuales pueden ser enviar a muchos equipos (en este caso) .bat deseado (Kaspersky Security Center).

También era eso a lo que me temía, que solo hubiese >>blabla.txt para una salida.

Lo que suponemos aquí es que como cuando ejecuto este comando localmente existe un promt, un cmd, un medio en donde genera esta respuesta visualmente, genera un display del ospp.vbs. pero al mandar, ejecutar este .bat Mandando este mismo bat por esta tareas generadas en el KSC no.

Seguiré con la investigación! Gracias

No sé si te entiendo bien lo de que solo hay ">>blabla.txt para una salida". Puedes ir almacenando en al archivo BLABLA.TXT todas las salidas que se generen, añadiéndolas a las que se han grabado previamente. Y también podría haber más de un archivo de salida, distintos bien en path o en nombre, para las distintas instrucciones del BAT.

Me gustaría que me mostrases lo que muestra esa consola cuando se ejecuta un sencillo BAT, por ejemplo un BAT con una única línea:

Echo Probando bat desde KSC>>logksc.txt

Si puedes capturar la pantalla de la consola y luego localizar y mostrar el contenido del LOGKSC.TXT creo que me ayudaría a hacerme una idea

Creo que no podría hacer eso por seguridad :c

Al hacer el .bat como me lo dices si saldría bien el echo, el problema viene cuando debe hacer el osppvbs \dstatus

Creo que como es una instalacion\run en 2ndo plano del bat no tiene como desplegar las opciones ya que no tiene un prompt en pantalla, no es como hacerlo desde un cmd, de ahí mi pregunta si habría otro comando que no sea >>c:\test.txt por ejemplo algún printf o algo por el estilo, sigo buscando respuestas pero no encuentro nada que me sirva hasta ahora, más que esto

Pero este .vbs me pide el product.id y la idea es mandarlo como a 500 o 600 equipos dentro de mi dominio :c

No habría una manera de que en esta parte del comando en donde se ingresa el id del producto office en vez de el id en si no habría algo que sea euivalente a el * en búsquedas, como un búsqueda de todo

Dim wmiObject
Set wmiObject = GetObject( _
 "WINMGMTS:\\.\ROOT\cimv2:" + _
 "SoftwareLicensingProduct.ID=""9d0bb49b-21a1-4354-9981-ec5dd9393961""")
Wscript. Echo wmiObject.PartialProductKey

En cuanto al Visual Basic no tengo mucho que decir, alguna vez lo uso pero siempre en base a "copiar y pegar" de otros programas. Sigo sin tener claro lo que dices de que el BAT del que hablas se ejecuta bien en local pero no desde KSC. Entiendo que desde CMD obtienes en el archivo de destino (\\ws12\licenses\ListOfLastsFiveOffice.txt) los diferentes status pero que si lo lanzas desde KSC no se incluye nada en ese archivo. Por eso te decía que probaras con un BAT más simple, un sencillo ECHO, pero si estás convencido de que el ECHO sí que se grabaría y el status no, puedes probar a incluir en ese BAT de prueba el comando. Algo como:

Echo Probando bat desde KSC>>logksc.txt
cscript "C:\Program Files\microsoft office\office16\ospp.vbs" /dstatus >>logksc.txt

Y volviendo a lo que comentas de ejecución en segundo plano y de que "el BAT no puede desplegar las opciones" cuando se ejecuta desde KSC no veo la diferencia entre eso y hacerlo desde CMD. A no ser que quieras decir que la ejecución de ese programa (OSPP.VBS) genera una petición de información por consola. En las pruebas que he hecho no es así. Esto es lo que me sale:

C:\WINDOWS\system32>cscript "C:\Program Files\microsoft office\office14\ospp.vbs" /dstatus
Microsoft (R) Windows Script Host versión 5.812
Copyright (C) Microsoft Corporation. Reservados todos los derechos.
---Processing--------------------------
---------------------------------------
SKU ID:¿?
LICENSE NAME: Office 14, OfficeProPlus-KMS_Client edition
LICENSE DESCRIPTION: Office 14, VOLUME_KMSCLIENT channel
License status: ---licensed---
ERROR CODE: 0 as licensed
Last 5 characters of installed product key:¿?
REMAINING GRACE: 172 days (248320 minute(s) before expiring)
---------------------------------------
---------------------------------------
---Exiting-----------------------------
C:\WINDOWS\system32>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas