Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    vb.net & wmi

    ciao amicici

    ho creato il codice seguente con il WMI code creator della microsoft ma non funziona.
    se lo inserisco in un nuovo progetto vb.net, si luppa mi blocca la macchina e sono costretto a riavviare.
    se lo stesso codice lo faccio in vbs funziona perfettamente.....

    grazie
    ciao

    Imports System
    Imports System.Drawing
    Imports System.Collections
    Imports System.ComponentModel
    Imports System.Windows.Forms
    Imports System.Data
    Imports System.Management

    Namespace WMISample

    Public Class MyQuerySample
    Inherits System.Windows.Forms.Form

    Friend WithEvents userNameLabel As System.Windows.Forms.Label
    Friend WithEvents userNameBox As System.Windows.Forms.TextBox
    Friend WithEvents passwordBox As System.Windows.Forms.TextBox
    Friend WithEvents passwordLabel As System.Windows.Forms.Label
    Friend WithEvents OKButton As System.Windows.Forms.Button
    Friend WithEvents closeButton As System.Windows.Forms.Button

    Private components As System.ComponentModel.IContainer

    Public Sub New()
    MyBase.New()

    InitializeComponent()
    End Sub

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

    If disposing Then
    If Not (components Is Nothing) Then
    components.Dispose()
    End If
    End If
    MyBase.Dispose(disposing)
    End Sub

    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    Me.userNameLabel = new System.Windows.Forms.Label
    Me.userNameBox = new System.Windows.Forms.TextBox
    Me.passwordBox = new System.Windows.Forms.TextBox
    Me.passwordLabel = new System.Windows.Forms.Label
    Me.OKButton = new System.Windows.Forms.Button
    Me.closeButton = new System.Windows.Forms.Button
    Me.SuspendLayout()
    '
    ' userNameLabel
    '
    Me.userNameLabel.Location = New System.Drawing.Point(16, 8)
    Me.userNameLabel.Name = "userNameLabel"
    Me.userNameLabel.Size = New System.Drawing.Size(160, 32)
    Me.userNameLabel.TabIndex = 0
    Me.userNameLabel.Text = "Enter the user name for the remote computer:"
    '
    ' userNameBox
    '
    Me.userNameBox.Location = New System.Drawing.Point(160, 16)
    Me.userNameBox.Name = "userNameBox"
    Me.userNameBox.Size = New System.Drawing.Size(192, 20)
    Me.userNameBox.TabIndex = 1
    Me.userNameBox.Text = ""
    '
    ' passwordBox
    '
    Me.passwordBox.Location = New System.Drawing.Point(160, 48)
    Me.passwordBox.Name = "passwordBox"
    Me.passwordBox.PasswordChar = "*"
    Me.passwordBox.Size = new System.Drawing.Size(192, 20)
    Me.passwordBox.TabIndex = 3
    Me.passwordBox.Text = ""
    '
    ' passwordLabel
    '
    Me.passwordLabel.Location = new System.Drawing.Point(16, 48)
    Me.passwordLabel.Name = "passwordLabel"
    Me.passwordLabel.Size = new System.Drawing.Size(160, 32)
    Me.passwordLabel.TabIndex = 2
    Me.passwordLabel.Text = "Enter the password for the remote computer:"
    '
    ' OKButton
    '
    Me.OKButton.Location = New System.Drawing.Point(40, 88)
    Me.OKButton.Name = "OKButton"
    Me.OKButton.Size = new System.Drawing.Size(128, 23)
    Me.OKButton.TabIndex = 4
    Me.OKButton.Text = "OK"
    '
    ' closeButton
    '
    Me.closeButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
    Me.closeButton.Location = New System.Drawing.Point(200, 88)
    Me.closeButton.Name = "closeButton"
    Me.closeButton.Size = New System.Drawing.Size(128, 23)
    Me.closeButton.TabIndex = 5
    Me.closeButton.Text = "Cancel"
    '
    ' MyQuerySample
    '
    Me.AcceptButton = Me.OKButton
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    Me.CancelButton = Me.closeButton
    Me.ClientSize = New System.Drawing.Size(368, 130)
    Me.ControlBox = false
    Me.Controls.Add(Me.closeButton)
    Me.Controls.Add(Me.OKButton)
    Me.Controls.Add(Me.passwordBox)
    Me.Controls.Add(Me.passwordLabel)
    Me.Controls.Add(Me.userNameBox)
    Me.Controls.Add(Me.userNameLabel)
    Me.Name = "MyQuerySample"
    Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScree n
    Me.Text = "Remote Connection"
    Me.ResumeLayout(false)

    End Sub

    Public Overloads Shared Function Main() As Integer

    Application.Run(New MyQuerySample)
    End Function

    Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click

    Try
    Dim connection As New ConnectionOptions
    connection.Username = userNameBox.Text
    connection.Password = passwordBox.Text
    connection.Authority = "ntlmdomain:xxxxxxx"

    Dim scope As New ManagementScope( _
    "\\x.x.x.x\root\CIMV2", connection)
    scope.Connect()

    Dim query As New ObjectQuery( _
    "SELECT * FROM Win32_DiskDrive")

    Dim searcher As New ManagementObjectSearcher(scope, query)

    For Each queryObj As ManagementObject in searcher.Get()

    Console.WriteLine("-----------------------------------")
    Console.WriteLine("Win32_DiskDrive instance")
    Console.WriteLine("-----------------------------------")
    Console.WriteLine("Caption: {0}", queryObj("Caption"))
    Next

    Close()
    Catch err As ManagementException
    MessageBox.Show("An error occurred while querying for WMI data: " & err.Message)
    Catch unauthorizedErr As System.UnauthorizedAccessException

    MessageBox.Show("Connection error (user name or password might be incorrect): " & unauthorizedErr.Message)
    End Try
    End Sub

    Private Sub closeButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closeButton.Click

    Close()
    End Sub
    End Class
    End Namespace
    ....ma i computer non sono tanto macchine quanto strumenti di ampliamento della mente ed un diverso tipo di mezzo espressivo.
    -- Chi si accontenta non gode si illude --

  2. #2
    ma in console qualcosa lo scrive o al primo loop si inchioda?

  3. #3
    con una form mi chiede user e password e poi si blocca.
    credo si blocchi al .Connect(), e dal quel momento la cpu e le risolse salgono al massimo e non ho altra soluzione che riavviare la macchina.
    ma come è possibile?
    puoi far girare tu questo codice?
    in ogni caso ho provato a generare altro codice con WMI code creator ma ottengo lo stesso problema.

    Grazie
    Saluti
    ....ma i computer non sono tanto macchine quanto strumenti di ampliamento della mente ed un diverso tipo di mezzo espressivo.
    -- Chi si accontenta non gode si illude --

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.