|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Powershell и Access |
|
PowerShell - Powershell и Access
|
Старожил Сообщения: 173 |
Профиль | Отправить PM | Цитировать Добрый день,
Задача, получать актуальный список залогированных сотрудников на компьютерах. Т.е. нужно соответствие Имя компьютера - Сотрудник Есть база данных с одной таблицей и четырьмя столбцами: HostName, UserName,Data, Time Есть скрипт, который работает не полностью. Данные по пользователям помещаются в таблицу, а имя компьютера нет. Вот ошибка: Вот скрипт: $PCs = Get-Content -Path "c:\PoSH\PCs.txt" $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($PC in $PCs) { $ShortUser = Get-WmiObject -class Win32_ComputerSystem -ComputerName $PC | ForEach-Object {[regex]::replace($_.UserName,".*\\","")} $objRec.AddNew() $objRec.Fields.Item("HostName").Value = "$PC" $objRec.Fields.Item("UserName").Value = "$ShortUser" } $objRec.Update() $objRec.Close() $objCon.Close() $adOpenStatic = 3 $adLockOptimistic = 3 И второе,Как можно сделать проверку - если такой компьютер уже есть, то обновить страницу, а если нет то добавить? Евгений |
|
Отправлено: 14:17, 08-06-2011 |
Старожил Сообщения: 173
|
Профиль | Отправить PM | Цитировать Добрый день,
Вот так работает, но как сделать проверку по условию пока не понятно. $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. |
Отправлено: 16:05, 09-06-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1482
|
Профиль | Отправить PM | Цитировать Дай базу глянуть
|
------- Отправлено: 17:06, 09-06-2011 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - Windows PowerShell | shoot | Программное обеспечение Windows | 13 | 27-11-2011 02:23 | |
Вопрос - applocker powershell | extorhost | Защита компьютерных систем | 0 | 12-08-2010 17:16 | |
Интернет - Как изменить Access Lokal на Access Lokal and Internet? | amilo | Microsoft Windows Vista | 1 | 23-07-2009 00:00 | |
Разное - PowerShell | Butunin Klim | Программирование и базы данных | 1 | 31-07-2008 18:39 | |
Unable to access the computer. Access is denied | Maf1a | Microsoft Windows NT/2000/2003 | 2 | 13-07-2007 15:42 |
|