查询访问权限的Powershell上的监视工具

时间:2015-12-09 16:26:05

标签: powershell ms-access-2007

从理论上讲,我觉得这应该很简单。基本上我需要通过powershell每小时左右运行一次访问查询,然后如果查询中遇到某个条件,我需要发送一封电子邮件。

电子邮件,查询很简单,但我不知道怎样才能获得PowerShell来查询访问权限,而且我不确定是否可以让查询每小时运行一次。但是,如果我可以让PowerShell运行查询访问,我会很高兴。

2 个答案:

答案 0 :(得分:2)

  

如果我可以让powershell运行查询访问权限,我会很高兴

" ACE.psm1"在另一个答案中引用的模块看起来很有用,但是如果你喜欢“自己动手”的话。数据库访问的代码,你可以使用这样的东西:

$connStr = @"
Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:\Users\Public\Database1.accdb
"@
$con = New-Object System.Data.OleDb.OleDbConnection $connStr
$con.Open()
$cmd = New-Object System.Data.OleDb.OleDbCommand "SELECT * FROM Clients", $con
$rdr = $cmd.ExecuteReader()
while ($rdr.Read())
{
    Write ("{0}, {1}" -f $rdr["LastName"], $rdr["FirstName"])
}
$rdr.Close()
$con.Close()

答案 1 :(得分:1)

每小时运行一些scriptblock:

$command =  {

    $trigger = New-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 60) -RepeatIndefinitely `
    -At (get-date) -Once

    $job = Register-ScheduledJob -Name 'Test' -Trigger $trigger -ScriptBlock {
        (Get-Date).DateTime | Out-File D:\test.txt -Append
    } 
}
Start-Process -FilePath powershell.exe -ArgumentList "-noprofile -command $Command" -Verb runas

在这里查看ACE模块:

Use ACE Drivers and PowerShell to Talk to Access and Excel