PowerShell - Powershell и Access

Ответить
Аватара пользователя
tarasov.evgeny

PowerShell - Powershell и Access

Сообщение tarasov.evgeny »

Добрый день,



Задача, получать актуальный список залогированных сотрудников на компьютерах. Т.е. нужно соответствие Имя компьютера - Сотрудник

Есть база данных с одной таблицей и четырьмя столбцами: HostName, UserName,Data, Time

Есть скрипт, который работает не полностью. Данные по пользователям помещаются в таблицу, а имя компьютера нет.

Вот ошибка:


читать дальше »




Исключение при чтении "Item" : "Item cannot be found in the collection corresponding to the requested name or ordinal."

В C:\PoSH\Access_Username_tes1.ps1:16 знак:20

+ $objRec.Fields.Item
Аватара пользователя
tarasov.evgeny

Re: PowerShell - Powershell и Access

Сообщение tarasov.evgeny »

Добрый день,



Вот так работает, но как сделать проверку по условию пока не понятно.



Код:

Код: Выделить всё

$PCs = Get-QADComputer -Name *ru*
$path = "C:\FSO\Test2.accdb"
$adOpenStatic = 3
$adLockOptimistic = 3
$objCon = New-Object -com "ADODB.Connection"
$objRec = New-Object -com "ADODB.Recordset"
$objCon.Open("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = $path")
$objRec.Open("Select * From Host", $objCon,$adOpenStatic,$adLockOptimistic)
Foreach($1 in $PCs)
{
$CompName = $1.Name
$ShortUser = Get-WmiObject -class Win32_ComputerSystem -ComputerName $1.Name | ForEach-Object {[regex]::replace($_.UserName,".*\\","")}
$objRec.AddNew()
$objRec.Fields.Item("HostName").Value = "$CompName"
$objRec.Fields.Item("UserName").Value = "$ShortUser"
}
$objRec.Update()
$objRec.Close()
$objCon.Close()
$adOpenStatic = 3
$adLockOptimistic = 3



Евгений.

Чтобы работало, необходимо установить дополнительную оснастку для работы с AD.
Аватара пользователя
Butunin Klim

Re: PowerShell - Powershell и Access

Сообщение Butunin Klim »

Дай базу глянуть
Ответить

Вернуться в «Скриптовые языки администрирования Windows»