Új hozzászólás Aktív témák

  • Cégnél van pár program ami néha frissítést kér. Ezt egy exe file és silent kapcsolóval szoktam csinálni egy parancsikonról hálózatról. (több ilyen is van)
    Szeretném ezt automatizálni.
    Így hát írtam rá egy egyszerű programot vb.nettel ami az alábbit csinálja:
    megnézi hogy hálózaton a frissítések mappában milyen exéket raktam be
    megnézi hogy adott szoftver van-e a gépen ami szerepel a frissítendők között
    elindítja az adott frissítést waitforexit majd indítja a következőt persze mind silent kapcsolóval
    Cél az lenne hogy egy egy programnál ne kelljen nekem egyenként gépenként frissítgetni, tartomány nincs így login scriptet nem tudok futtatni de feladatütemezővel oldanám meg bejelentkezéskor.

    Na a gond az hogy user bejelentkezik és a progi működik viszont jogosultságot kér. Ha beikszelem a feladatütemezőbe hogy futtatás a legmagasabb jogokkal akkor a program nem képes indítani semmit a hálózatról (gondolom mert a helyi rendszergazda fiók nem fér hozzá a hálózati dolgokoz)
    Tehát hogyan tudom úgy futtatni a programot hogy user bejelentkezik és a windows NE kérjen tőle semmilyen interakciót hanem szépen fusson le minden amit a programom hív meg.
    Ha user rendszergazda vagy rendszergazda nevében indítom akkor is bejön az UAC jóváhagyása az exékre egyenként.
    Szóval nekem az kellene hogy a program egyszer sem vagy maximum egyszer kérjen jóváhagyást és ne egyenként.

    Részlet a kódból:

    Dim szamlazohelye64 As String = "C:\Program Files (x86)\Kulcs-Soft\Kulcs-Számla\szamla.exe"
    Dim szamlazohelye32 As String = "C:\Program Files\Kulcs-Soft\Kulcs-Számla\szamla.exe"
    Dim szamlazoupdatehelye As String = "\\SZERVER\public\Kulcsszoft frissítések\Xszamlazoupdate.exe"

    If My.Computer.FileSystem.FileExists(szamlazoupdatehelye) Then
    log = log & vbCrLf & d & " Számlázó frissés file megvan"

    If My.Computer.FileSystem.FileExists(szamlazohelye64) Then
    log = log & vbCrLf & d & " Számlázó gépen megtalálva"
    Process.Start(szamlazoupdatehelye, " /silent").WaitForExit()
    log = log & vbCrLf & d & " Számlázó gépen frissítve"
    Else
    If My.Computer.FileSystem.FileExists(szamlazohelye32) Then
    log = log & vbCrLf & d & " Számlázó gépen megtalálva, de nem az x86 mappában"
    Process.Start(szamlazoupdatehelye, " /silent").WaitForExit()
    log = log & vbCrLf & d & " Számlázó gépen frissítve"
    Else
    End If

    End If

Új hozzászólás Aktív témák

Hirdetés