Script to change settings in a program (filemaker pro 11) - filemaker

Looking for some help here. I do a bit of IT support for an organisation of about 200 people. Most of them use a database program called Filemaker Pro 11. Each user should have their own username that is set under the 'edit' menu -> 'preferences'. The edit menu is on the tool bar at the top of the screen, along with file, view, window etc. like as in MS Word for example.
Each user currently has a default username but the organisation wants everyone changed to a unique username. This means me visiting every machine and manually changing it. I was wondering if it would be possible to write a script to prompt users to make this change the next time they open the system? I'm not new to programming but I've never made a script like this before so wouldn't know where to start. Could anyone point me in the right direction?

There is no way to script that change.
The user name you are referring to is the system (Windows or Mac) user name, and not the FileMaker user account. The default for the system user name is whatever they are logged in to their computer as. So, you could give people unique user names at the system level.
The option that is not default allows the user to change their system name. You can create a script that will open preferences for them, but there is no way to actually change it via a FileMaker script.
What you can do: Use the FileMaker account name instead of system name. The account name is much more reliable, follows the user across computers, is more secure, and best of all is (almost) totally scriptable.
I hope this helps. Sorry that what you want isn't possible inside of FileMaker.

Related

How to display active directory browser from powershell

I have a GUI for AD user creation. One of the parameters I put in is location where the user shall be created. For now I have it in a text box as a simple text (ou=subcontainer,ou=container,dc=domain,dc=com). But this is not very user friendly and I'd like to add a button there to open a browser (like the left panel if you run dsa.msc) to select the path. I found a specially created browser for that, but it's again made of the text strings, which could be confusing for low-skilled technicians. Some of the people supposed to use this script are just skilled enough to create and modify a user in a GUI, but don't have much deeper knowledge and have no idea what that string means, so I'd like to have the classical gui from active directory users and computers. I tried to search classes under system.directoryservices.activedirectory but didn't find anything that could display the dialog
I found what I needed here: https://gist.github.com/supercheetah/b68023f3254dfc9a6497 - posted in comment by CraftyB

Microsoft Access: Moving Form to shared drive, VBA code not working once there

Hello and thank you for helping!
I created an Access form that has a few button on it that when clicked format a textbox below the buttons (basically different colors). The idea is for employees to not lose track of important issues to discuss while they are on a phone call with clients. I know Access is typically for database-ing if you will, but I don't need it to track anything or update records as there are none.
This works fine on my computer, however when I try to send it via email or put it on a shared drive, the form appears, but the buttons do not work. I even tried copying the database file along with it to the shared drive, but it still did not work. It seems the VBA code that is connected to the button clicks does not work on a shared drive.
The drive itself is mapped to a letter (Y) on my computer, but may be mapped to Z or another letter on employee computers. Would this be the issue? Or better yet, is there a way to isolate the form so it works like a standalone program on each new machine using it?
I am relatively new to Access, what am I missing?
TL;DR Press button on Access form, textbox turns blue. Send to friends, they try to do the same, nothing happens.
As always, thank you for your time!
EDIT: There are two scenarios that can happen when another user tries to access this form:
1) The form appears perfectly, but when they click the buttons, nothing happens, no text box is formatted.
or
2) It throws this error: 'blah blah drive X' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
Try the UNC (Universal Naming Convention) instead of the drive letter (Y:)
The format is below.
\servername\sharename\path\filename
The servername and sharename information can be found on "My Computer" for Windows
Finally, this was solved! I changed the Form Record source to be the linked table, and it worked. It was still referencing a table on the computer I created it on. Thank you to everyone who helped!

Adding AD users as an Admin

Here's the situation. I'm am completely new to PowerShell so use small words...
I have a new user in Active Directory that I need to add to about 100 computers as efficiently as possible. My hope was that I could make a PowerShell script that would add the user either through a login script or remotely. I need to have a bit of precision control over this deployment because we don't want to push this user to every computer in the company.
Can PowerShell help me with this, and if not do you all have some sage advice that could help?
To add a user to the local administrators group using PowerShell:
([ADSI]"WinNT://./Administrators,group").Add("WinNT://your-domain/new-user,user")
Just replace the your-domain and new-user parts of the command with the appropriate values for your environment.

Access 2010, stop form from updating table

I have been having some trouble with this and it seems to be the opposite of what other people want to do. I have a list of computers that I am maintaining in Access 2010. I want to create a form that I could enter the user's name and have a sub-table show me what computers they have. Ideally, I want to create a text box that would do a search. So far, I am too new to Access to figure out how to do that (I tried with an unbound text box, but couldnt get them to link properly).
Instead, I have created a drop down menu with a list of all the users. I can select a user and a sub-table will bring up the entry with their computer's information in it (service tag, name, type, etc.).
The problem is that while changing the drop down menu choices to other users, the table is being changed so that it now says the owner of a computer is someone else. For example, I search for Ted. It will bring up his computer. Then I will search for fred's computer. The results will be Ted's computer and Fred's computer. When I go into the actual table to look at Fred's and Ted's computers, they are now both set to being Fred's computers.
Is there a better way to do this (ie using a search text box) and/or to block edits to the table completely from the form?

Is it possible for an app to be decompiled?

I need to code in authentication information for specific parts of my website into my app. Is it at all possible for the app to be "decompiled" and the username and password exposed?
NSURL *url = [NSURL URLWithString:#"https://predefinedUsername:predefinedPassword#www.website.com"];
Yes, it is possible. Assume that if you have anything compiled into your app, it can [and will] be discovered by someone somewhere. Even if it isn't possible today, you are creating a frozen record of such information that will be vulnerable to any future attacks, known or unknown.
You really need the user to perform some task that authenticates them. There are a million and one ways to do that, and for every one of those, a million and two ways to do it wrong. :)
Without knowing more about your specific requirements, it is impossible to really say much more outside of "keep it simple and don't store or send anything in clear-text".
As #Hyperbole said, If you store the username and password in plain text it will be visible in the executable. It is extremely trivial to examine the executable for strings, and it's usually the first thing someone with malicious intent will try.
Right click on any app you've downloaded in iTunes and select show in finder. Make a copy of the app on your desktop and rename the app from AppName.ipa to AppName.zip. Double-click to unzip it, and look inside the folder. Navigate to the folder Payload and then right click on the (probably only) file in there called AppName that looks like an application but has a big circle with a cross through it for the icon. Select show package contents. Scroll through until you find a file called AppName with no extension and a blackish rectangle with the green word "exec" as an icon. Open that file in text edit or another text editor. You'll find that most of this ends up being random symbols and other crap, but you should occasionally see some plain text. The compiler takes string constants and embeds them directly in the app when you compile it in most cases.
You asked about what magazine apps and others do to access content - There are a ton of different ways to do it but off the top of my head, after the server verifies your in-app purchase receipt, the server would record an identifier specific to your iTunes account, saying that you've purchased a specific issue of the magazine. Then your app can request that file from the server, adding the identifier to the request in the process. The server would respond with the file once it looks through the database and determines that you've purchased the content.
Other solutions include signing/hashing a unique key.
Your example would expose the username and password without the need to decompile as you send it via plain text in a URL request. Anyone with a sniffer or MITM service yould snatch it out of the air. A better approach would be to make use of SSL via the http*s* protocol. You could go a step further and either prompt at runtime for the credentials and/or store an encrypted version within the app.
This is very bad because it is trivially easy to recover these credentials just by running 'strings' against the app binary without needing to decompile it.
Can't you pop up a dialogue box asking the user to enter the credentials when they first start the app ? Alternatively you could store them encrypted in a file and then ask the user for an alternative credential e.g. Passcode that derives the key but even this will not survive a determined attack unless the Passcode is long.