Проверьте, не запускался ли ранее скрипт на определенной машине? - PullRequest
1 голос
/ 08 августа 2011

Итак, у меня есть следующий сценарий, который я запускаю, когда пользователь выходит из системы, используя раздел сценария выхода из системы в групповой политике (я хотел бы запустить проверку, чтобы проверить, выполнялся ли он ранее на конкретном компьютере. прежде чем я бы хотел, чтобы скрипт завершился. Если этого не произошло, я хочу, чтобы он запустил скрипт и пометил себя как «уже запущенный». Как я могу это сделать?):

strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Network = TRUE")

For Each objPrinter in colInstalledPrinters
    objPrinter.Delete_ Next

1 Ответ

1 голос
/ 09 августа 2011

Я понял это. Вот пересмотренный скрипт:

Option Explicit

Dim oShell,strComputer,objWMIService,colInstalledPrinters,objPPrinter

Private Function KeyExists (keyName)
    Dim bKey

    On Error Resume Next

    bKey = oShell.RegRead(keyName)

    If TypeName (bKey) = "Empty" Then
        KeyExists = False
    Else
        KeyExists = True
    End If
End Function



Set oShell = CreateObject("Wscript.Shell")

If keyExists("HKEY_LOCAL_MACHINE\Software\CRusse\RemovePrinters") Then
    wscript.quit
Else 

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Network = TRUE")

For Each objPrinter in colInstalledPrinters
    objPrinter.Delete_
Next
    oshell.RegWrite "HKEY_LOCAL_MACHINE\Software\CRusse\RemovePrinters", 1, "REG_SZ"
End If

Set oShell = Nothing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...