Powershell上查询访问权限的监视工具
理论上我觉得这应该很简单。基本上,我需要在access中每隔一小时左右通过powershell运行一次查询,然后如果查询中的某个条件得到满足,我需要发送一封电子邮件Powershell上查询访问权限的监视工具,powershell,ms-access-2007,Powershell,Ms Access 2007,理论上我觉得这应该很简单。基本上,我需要在access中每隔一小时左右通过powershell运行一次查询,然后如果查询中的某个条件得到满足,我需要发送一封电子邮件 电子邮件和查询都很简单,但我不知道如何让powershell查询访问权限,我不确定是否可以让它每小时运行一次。但如果我能让powershell在access上运行查询,我会很高兴的。每小时运行一次scriptblock: $command = { $trigger = New-JobTrigger -Repetition
电子邮件和查询都很简单,但我不知道如何让powershell查询访问权限,我不确定是否可以让它每小时运行一次。但如果我能让powershell在access上运行查询,我会很高兴的。每小时运行一次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模块:
如果我能让powershell在access上运行查询,我会很高兴的
在另一个答案中引用的“ACE.psm1”模块看起来很有用,但是如果您更喜欢“滚动您自己的”代码来访问数据库,您可以使用如下内容:
$connStr=@”
Provider=Microsoft.ACE.OLEDB.12.0;
数据源=C:\Users\Public\Database1.accdb
"@
$con=新对象System.Data.OleDb.OleDbConnection$connStr
$con.Open()
$cmd=New Object System.Data.OleDb.OleDbCommand“SELECT*FROM Clients”,$con
$rdr=$cmd.ExecuteReader()
而($rdr.Read())
{
写入(“{0},{1}”-f$rdr[“LastName”],$rdr[“FirstName”])
}
$rdr.Close()
$con.Close()
ScheduledJob适用于每小时一次的部分。您可以利用任何OLE或ODBC连接与Access进行连接并进行查询。这可能会有所帮助。