Enumerating List Of Drives On A Remote Domain Workstation
Jun 29, 2011
I am trying to come up with a good way to enumerate hard disks on remote workstations, possibly including administrative shares, so I can audit key files on them without having to access them via sneakernet.I have domain administrator rights. Security policy prohibits using WMI which would be a great solution.I can retrieve a list of computers using Active Directory, but I need some way to determine what drives are available on each system. Is such a thing feasible? A fellow developer offered some VB6 code from years ago that used WNetOpenEnum, but I was hoping that since we are at .NET framework 4, maybe there's a more elegant / managed way of working with this. I'm keen to use technologies that are more generally supported, such as standard APIs etc. WMI is a great solution but apparently is blocked by default by Windows Firewall, so its availability is not guaranteed.
I created a simple dll in VB2008 on my development workstation (uses a GUID and Implements an Interface,It is a basic "Hello World" & someInputValue. I reference this dll in a MS Access code module and works fine on dev machine. I run Debug.Print testDll.HelloWorld("xyz") and I get I then copy the mdb and dll, tlb files to the remote workstation (where I am also running all versions of the .Net framework) and try this on the remote workstation -- Everything compiles fine within the Access code module on the remote workstation, but I get an error message that the ActiveX control cannot be created when I try to run the procedure. I tried to register the dll regsvr32.exe "C:myDirmyTestDll.dll"and get the message that the dll is loaded but the DllRegisterServer entry point was not found. This file cannot be registered. I know that I have tested other custom dlls on this remote workstation before, and everything worked fine.
I'm having trouble with program I'm writing for work. It's basically a GUI for some remote management scripts I wrote a while back.I have a listbox (listbox1) to which loads a list of computers from active directory, which works perfectly and quickly.The problem is that I also want to add to another listbox (listbox2) a list of machines 'currently active' on the network. I can't see an easy way to do this in .net but came up with a logical solution.Basically my thought was to 'ping' all of the machines in the directory listing and use the results to make the list...
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim de As New DirectoryEntry()
Is there a way to write a single routine that could enumerate a list regardless of the data type? I am trying to write a custom XML serialization class and it would be great if I could enumerate all items in a generic list the same way, regardless if it was of type String, Integer, etc.
I'm trying to get a list of current hard drives (that part is done), but then go through the list one by one and remove those that have no size (dvd drives for example). I'm sure this is horribly wrong (4 errors are shown in the list). Could someone give me a hand?
Here is what I have so far:
ComboBoxHD.Items.AddRange(System.IO.Directory.GetLogicalDrives) Dim dInfo As New System.IO.Directory For Each drive As System.IO.Directory In dInfo.GetLogicalDrives()
Im beginer for programming vb. show list folder on drives. for example, I have a form (listbox and button). If I click the button, the listbox will show list folder on drive C.
I have a list of 100,000 urls in list(Of string) which can contain urls in the form.[URL]..i have tried using a combination of regex and the Uri class, but that didn't help, so i dumped the code. i also tried using this code, but it will only remove duplicatse of exact form, since its not domain specific.
list = new ArrayList<T>(new HashSet<T>(list))
How filter these duplicates and keep just one of these url if it contains the same name e.g yahoo.
all URL are of different domains, but can usually have duplicates like the example i gave above
I am working on an application using VB6.0, in which mails are to be automatically sent through an SMTP server.The mails which are sent through the server are going into the recipient's JUNK-FOLDER.One way could be adding the sender's domain/ID to Client's Outlook Safe Senders List manually.But instead of setting it manually, I want to add a domain/ID to the Safe Sender's List through my application itself.
I have a function that works perfectly when I attempt to add a user from the same domain into a group of the same domain.
Function AddUserToGroup(ByVal strUserDN As String, ByVal strGroupDN As String, ByVal strGRPDC As String, ByVal strUserDC As String) As Boolean Dim oUser As DirectoryEntry
[Code]....
The error is actually being thrown on the Invoke line, but as I said earlier, if the user is in the same domain, this works perfectly.
I'm using the 2.0 framework to get a list of queues from a remote machine. Sometimes the machine has a firewall and then the user has to wait 80 seconds or so before an exception is thrown stating that the machine is unavailable. Questions: Is there any way that I can set/change the timeout for GetPrivateQueues ByMachine? Is there any other method I can call before running GetPrivateQueuesByMachine to see whether the machine is responding? One that has configurable timeout, Any other solution?
I've been struggling for hours now to get some working code to list the share permissions of a remote share. I've got WMI code which uses win32_share which lists the shares and path and it works great. I"m now trying to add in a routine to get the share permissions as well.
I've searched just about every site for some sample code and can only find some C# (I think) code.
way to retrieve list/rename hiddne files from the remote host. I need to upload the file to a server and then move it to another directory, but the file after being transfered becomes hidden. If I try to rename it any way I get the dreaded 550 in response. I would hate to move to commad line scripting which at the moment seams to be my only option.
I was looking for a way to enumerate String types in (vb).NET, but .NET enums only accept numeric type values.
The first alternative I came across was to create a dictionary of my enum values and the string I want to return. This worked, but was hard to maintain because if you changed the enum you would have to remember to also change the dictionary.
The second alternative was to set field attributes on each enum member, and retrieve it using reflection. Surely enough this worked aswell and also solved the maintenance problem, but it uses reflection and I've always read that using reflection should be a last resort thing.
So I started thinking and I came up with this: every ASCII character can be represented as a hexadecimal value, and you can assign hexadecimal values to enum members. You could get rid of the attributes, assign the hexadecimal values to the enum members. Then, when you need the text value, convert the value to a byte array and use System.Text.Encodings.ASCII.GetString(enumMemberBytes) to get the string value.
Now speaking out of experience, anything I come up with is usually either flawed or just plain wrong. Is there any reason not to do it like that?
As pointed out by David W, enum member values are limited in length, depending on the underlying type (integer by default). So yes, I believe my method works but you are limited to characters in the ASCII table, with a maximum length of 4 or 8 characters using integers or longs respectively.
I am trying to write a simple linq query from a tutorial I read. But i cannot seem to get it to work. I am trying to display both the address in the attached xml document, but can only display the first one.
I am trying to get the AD Properties from a Search that I do. When I do so I get this as a result "System.DirectoryServices.ResultPropertyValueCollection". How do I get the value? I know that it is a collection but everytime I try I am not successful.
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSearch.Click Dim resEntry As SearchResult Dim lstItem As New ListViewItem Dim currentEntry As New DirectoryEntry
I have some code designed to locate a specific process based off of its window text, gather the main handle, and then all of the child windows. However, I have run into one problem. I cannot seem to gather all the handles and their respective text. For example, when I test my program and do a handle count on the specific process, it tells me that there are more than 400 handles for this one process. How do I get the handle pointers for this process and also gather the text associated with these handles.I have included my source code for reference.
Code:Public Class Form1 Const GW_CHILD As Integer = 5 Const GW_HWNDNEXT As Integer = 2 Const WM_GETTEXT As Integer = &HD Const WM_GETTEXTLENGTH As Integer = &HE Const BM_SETSTATE As Integer = &HF3 Const WM_LBUTTONUP As Integer = &H202 Const WM_LBUTTONDOWN As Integer = &H201
I have some code designed to locate a specific process based off of its window text, gather the main handle, and then all of the child windows. However, I have run into one problem. I cannot seem to gather all the handles and their respective text.
For example, when I test my program and do a handle count on the specific process, it tells me that there are more than 400 handles for this one process. How do I get the handle pointers for this process and also gather the text associated with these handles.
I have included my source code for reference.
Code:Public Class Form1 Const GW_CHILD As Integer = 5 Const GW_HWNDNEXT As Integer = 2 Const WM_GETTEXT As Integer = &HD Const WM_GETTEXTLENGTH As Integer = &HE Const BM_SETSTATE As Integer = &HF3 Const WM_LBUTTONUP As Integer = &H202 Const WM_LBUTTONDOWN As Integer = &H201
Is there a way to list the text that appears in each of the tabs of IE8 and Firefox as part of the list of running processes along with the handle.I can list all the running processes fine with their hwnd's but I cant list all of the tabs that are open in either IE8 or Firefox, only the active tab
I need to enumerate all the items in an email inbox. However, this code fails
For Each MI As Outlook.MailItem In folderToProcess.Items 'Console.WriteLine("Subject:" + vbTab + MI.Subject) Console.WriteLine(MI.Subject) Next
It fails whenever it comes across an item that ISN'T an email (e.g. a meeting request). I've spent the last hour or so trying to find a way of enumerating every item no matter its type. So far all I've come up with is to use the base Object type and then work from there but that's Late Binding and I'd prefer to avoid it if possible.
Has anyone come across this problem before? How can I determine what type of Outlook item it is during enumeration?
I have created a VB ActiveX Control. I embed the DLL using the following semantics. It appears to be working fine in my local machine. However, it does not in other's workstation. But I was not able to generate the LPK file using the LPK_tool.exe since the ActiveX control did not show up in the list.