none
Relatório Cliente SCCM RRS feed

  • Pergunta

  • Boa tarde a todos!

    Bom pessoal, preciso integrar os clientes do SCCM com um software de gerenciamento aqui da empresa.
    Para isso exporto o relatório de cada cliente do SCCM para arquivo texto e depois faço a leitura no software da
    empresa e persisto os dados em nossa base.

    Estou gerando o relatório da seguinte forma: Vou na Colection; clico com o botão direito no cliente desejado;
    na janela que abre clico em START e depois em Windows Diagnostics. Ai na janela do relatorio exporto para a única opção disponivel, txt.

    Só que isso é muito custoso. Os relatórios textos são muito grandes para leitura.  É possivel exportar os relatórios para XML?
    Ou alguma outra forma de gerar informações do cliente sem ser essa que estou utilizando? Preciso de algo simples
    que o administrador da rede possa fazer sem muitos problemas.

    Obrigado!


    terça-feira, 6 de maio de 2008 18:05

Respostas

  • Bom dia,

     

    o que vc pode fazer eh uma consulta direta na base de dados com as informacoes que vc queira..

     

    achei esse script que pode lhe ajudar a entender..ele exporta as informacoes pra 1 arquivo do excel:

     

    strServer = InputBox ("Enter SQL Server Name")
    strDatabase = InputBox ("Enter Three Letter Site Code")

    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = True
    objExcel.Workbooks.Add
    intRow = 2

    objExcel.Cells(1, 1).Value = "Machine Name"
    objExcel.Cells(1, 2).Value = "Client Version"
    objExcel.Cells(1, 3).Value = "User Name"
    objExcel.Cells(1, 4).Value = "User Domain"

    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand = CreateObject("ADODB.Command")
    Set objRecordset = createobject("ADODB.RecordSet")

    objConnection.Open "Provider=SQLOLEDB;Data Source =" & strServer & ";" & _
    "Trusted_Connection=Yes;Initial Catalog =SMS_" & strDatabase
    objCommand.activeconnection = objConnection

    objCommand.CommandText = "Select * From V_R_System"
    Set objRecordset = objCommand.Execute

    Do Until objRecordSet.EOF
    objExcel.Cells(intRow, 1).Value = objRecordset("Name0")
    objExcel.Cells(intRow, 2).Value = objRecordset("Client_Version0")
    objExcel.Cells(intRow, 3).Value = objRecordset("User_Name0")
    objExcel.Cells(intRow, 4).Value = objRecordset("User_Domain0")
    objRecordSet.MoveNext
    intRow = intRow + 1
    Loop

    objExcel.Range("A1Big Smile1").Select
    objExcel.Selection.Interior.ColorIndex = 19
    objExcel.Selection.Font.ColorIndex = 11
    objExcel.Selection.Font.Bold = True
    objExcel.Cells.EntireColumn.AutoFit

    Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
    Set objRange = objExcel.Range("A1")
    objRange.Sort objRange,1,,,,,,1
    objConnection.close

    MsgBox "Done"

     

    espero ter ajudado,

     

    terça-feira, 24 de junho de 2008 10:51
    Moderador

Todas as Respostas

  • Bruno, você poderia utilizar os relatórios já prontos do SCCM ou customizar um somente com as inforções que você precisa. Depois você poderá exportar para um arquivo .csv.

     

    Ou então você poderia criar um job no banco de dados do SCCM para exportar e importar as informações que você precisa no banco de dados do seu software.

     

    quarta-feira, 7 de maio de 2008 18:53
  • Bruno, obrigado pela atenção.

    Acontece que o sistema que me refiro é um sistema que é usado em vários clientes.
    Então a empresa vende o sistema e ensina a usar. A partir daí é com o administrador de rede de cada empresa.
    Então tenho que fazer algo bem simples para os administradores.
    Por isso que não quis usar a opção dos relatórios já existentes no SCCM.



    quinta-feira, 8 de maio de 2008 17:14
  • Bom dia,

     

    o que vc pode fazer eh uma consulta direta na base de dados com as informacoes que vc queira..

     

    achei esse script que pode lhe ajudar a entender..ele exporta as informacoes pra 1 arquivo do excel:

     

    strServer = InputBox ("Enter SQL Server Name")
    strDatabase = InputBox ("Enter Three Letter Site Code")

    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = True
    objExcel.Workbooks.Add
    intRow = 2

    objExcel.Cells(1, 1).Value = "Machine Name"
    objExcel.Cells(1, 2).Value = "Client Version"
    objExcel.Cells(1, 3).Value = "User Name"
    objExcel.Cells(1, 4).Value = "User Domain"

    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand = CreateObject("ADODB.Command")
    Set objRecordset = createobject("ADODB.RecordSet")

    objConnection.Open "Provider=SQLOLEDB;Data Source =" & strServer & ";" & _
    "Trusted_Connection=Yes;Initial Catalog =SMS_" & strDatabase
    objCommand.activeconnection = objConnection

    objCommand.CommandText = "Select * From V_R_System"
    Set objRecordset = objCommand.Execute

    Do Until objRecordSet.EOF
    objExcel.Cells(intRow, 1).Value = objRecordset("Name0")
    objExcel.Cells(intRow, 2).Value = objRecordset("Client_Version0")
    objExcel.Cells(intRow, 3).Value = objRecordset("User_Name0")
    objExcel.Cells(intRow, 4).Value = objRecordset("User_Domain0")
    objRecordSet.MoveNext
    intRow = intRow + 1
    Loop

    objExcel.Range("A1Big Smile1").Select
    objExcel.Selection.Interior.ColorIndex = 19
    objExcel.Selection.Font.ColorIndex = 11
    objExcel.Selection.Font.Bold = True
    objExcel.Cells.EntireColumn.AutoFit

    Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
    Set objRange = objExcel.Range("A1")
    objRange.Sort objRange,1,,,,,,1
    objConnection.close

    MsgBox "Done"

     

    espero ter ajudado,

     

    terça-feira, 24 de junho de 2008 10:51
    Moderador