Adding user to com security group using commandline or Powershell - powershell

I would like to do the follwoing
"Start | Run | dcomcnfg. This bring up the Component Services application. On the left pane navigate to Component Services | Computer | MyComputer. Right click on MyComputer and select properties. Select the COM Security tab and select the Edit Default button under Access Permissions. Use the Add... button to add the "Network Service" account to the permission list. Verify that ONLY the Local Access box is checked and click OK. Close out of Component Services. A reboot is then required to make the requested changes to COM Security.
"
Is there a way to do this via Powershell or through command line ?

I have done this for launch activation permissions and it isn't exactly straight forward. I wrote up what I did in this blog post. I think it could get you pointed in the right direction.

Related

Windows Advanced audit settings for ALL powershell terminals

On powershell I have the command to view the advanced audit settings from a registry key only by running as administrator, by running
(get-acl hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -audit).GetAuditRules($true,$true,[System.Security.Principal.NTAccount])
I was wondering if there's an alternative way of doing this on the regular powershell terminal? as when i try with the command above i get this output get-acl : Attempted to perform an unauthorized operation.
I think you need to give yourself the 'Manage auditing and Security log' (SeSecurityPrivilege) user privilege to do that.
Open Group Policy editor (Windows + R and type
gpedit.msc for the local machine)
Go to Computer Configuration ->
Windows Settings -> Security Settings -> Local Policies -> User
Rights Assignment
Double-click the 'Manage auditing and Security log'
entry and add yourself to the users having that privilege.
You'll probably have to log off and back on before the new setting becomes active.
It can also be done using Powershell. I found a module cSecurityOptions and also Carbon has a function called Grant-Privilege. I haven't tried though..
Hope this helps

Get Logged On User IBM Personal Communications in VBScript Macro

We Use IBM Personal Communications iSeries Access for Windows version 6.0. When you launch the program you initially get a Log on Prompt that lets you enter a server, user name and password.
It then gives you the log on screen to the server itself and you have to log on a second time. Between the two log ons I'm trying to work out a "Startup Macro"
I don't have anything in it right now because I cannot figure out how to get ONE particular value from the Session, the USER NAME.
I can get the screen title, session name, macro name, but I can NOT for the life of me figure out how to get the user name. I've tried every possible combination of strings and "variable" names I can think of, and nothing.
I've searched the web and all I can ever find is how to record and auto logon to the green screen which is not what I want.
To be clear I just need the Username used to logon to the Personal Communications iSeries Access for Windows program, pre green-screen logon.
It's important to note that IBM i Access for Windows is much more than just the 5250 emulator. There's an ODBC driver, a printer emulator, AFP printer drivers and the graphical Navigator for i. That IBM i signon popup doesn't come from the 5250 emulator. It comes from a lower level IBM i Access for Windows process. Try it yourself. Reboot the PC. Don't start the emulator. DO start IBM i Navigator for Windows. You'll get the signon popup.
It looks like you are trying to automate a 'no signon' signon. The user name is probably stored in the registry, depending on the version of Windows you are using and the version of IBM i Access for Windows. Windows 7: Start > All Programs > IBM i Access for Windows > IBM I Access for Windows Properties Choose the Administration System tab and you'll see the server and user. HKCU > Software > IBM > Client Access Express > CurrentVersion > AS400 Operations Navigator > Application Administration > CurrentAdminSysUser > My Connections
I think, for this, you need to get into the ActiveX Control that comes with iSeries Access. This little code C# snippet should work:
AS400System sys1 = new AS400System();
sys1.Define("mySystemNameHere");
if (sys1.IsConnected(cwbcoServiceEnum.cwbcoServiceAny) != 1)
{
sys1.Connect(cwbcoServiceEnum.cwbcoServiceTelnet);
}
String user = sys1.UserID;
sys1.Disconnect(cwbcoServiceEnum.cwbcoServiceAll);
You'll need to find cwbx.dll and add it as a reference to your project.
If the user is already connected from another application, no dialog will appear. The program will connect, get the connected user id, and then disconnect. If the user has never connected since logging in, then a logon dialog will appear.

How to set Group Policy "Turn Off Automatic Root Certificates Update" vie Registry/Powershell?

I need to disable the following group policy in Windows 7 programatically, for example by modifying a registry key using Powershell:
"Turn Off Automatic Root Certificates Update"
Does anybody know which registry key needs to be set or unset in order to make this work?
I had a similar issue when i was creating an application that communicated with a server over HTTPS using two-way SSL.
This was causing a delay of a full minute when the initial request was made
It ran in WinPE where hand clicking through the local group policy editor was not an option.
There also is no way I am aware of to register a root authority in this environment and it is running in an incredibly restricted environment so it can not access windows update (not that it would find our corporate CA there anyway).
The registry value you are looking for is
HKLM\Software\Policies\Microsoft\SystemCertificates\AuthRoot
DWORD DisableRootAutoUpdate = 1
Source: http://www.group-policy.com/ref/policy/452/Turn_off_Automatic_Root_Certificates_Update
To turn off Automatic Root Certificates Update via Local Group Policy Editor:
Click Start, and then click Run.
Type gpedit.msc, and then click OK.
If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
Under computer configuration, Double-click Administrative Templates, double-click System, double-click Internet Communication Management, and then click Internet Communication settings.
Double-click Turn off Automatic Root Certificates Update, click Enabled, and then click OK.
Close the Local Group Policy Editor.
Domain policies override local settings. That's how they're supposed to work (they'd be rather useless otherwise). If you want the policy disabled, disable or remove the policy in Group Policy Management or remove the computer from the domain.

Run Batch File Before Windows 7 User Login to Start VLC Web Interface

I would like to run a batch file I have that executes the following before a user logs on:
start "VLC web Interface" "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I http
Currently I have this in my Startup folder but I would like this batch file to be executed before a user is logged in on Windows 7. The goal is to start VideoLAN's Web Interface as a service without requiring a user to login. This way the computer can be turned on, and media can be streamed to my devices without choosing a user profile on the login screen.
To be clear, I would like this batch file to run BEFORE a user logs in, not after.
Any ideas?
The answer above would work. However, my preference of how to do it would be a little different. The effect is more or less the same, but I find it a little easier to use the Task Scheduler.
Open the Windows Task Scheduler.
Create a basic task.
Name it whatever you want, such as VLC Web Interface.
Click Next, and choose When the computer starts.
Click Next, and choose Start a program.
Click Next, and click Browse, then select your batch script.
Click Next, and click Finish.
It will now be in your Task Scheduler list of scheduled tasks. From there, you can right click on it and run it now, or end it, or whatever, and it will run every time the computer starts. Any user should be able to do this, whether on a domain or not, and even if you are using Windows Home (in which case you can't use gpedit.msc anyway).
Create a local group policy object for a startup script.
Start up scripts run pre login.
To create what you are after:
Open a run box
type in "gpedit.msc" (without the quotes)
Expand Computer Configuration
Expand Windows Settings
Select Scripts (Startup/Shutdown)
Double click Startup
Click Show Files and copy/paste your batch file in to this folder
Click the Add button on the startup properties
Click Browse and double click on your script to choose it.
"OK" out of all windows to apply the new settings.
The selected script will now run every time the PC starts.
If the PC is part of a Windows Active Directory domain these settings will be overridden with AD Group Policy, in which case the admin of the network should be doing this for you.
Edit:
It's been a few years since I wrote this, while this would work, it's probably simpler to go with Automate Everything's answer and use Task Scheduler to perform an "At Startup" action.

JBoss view active user sessions

We have a JBoss server with a single J2EE on it. I wish to find out who are the current active users using that application. Does JBoss give me any utilities that lets me view those existing sessions? (NOT the count, but who all are logged in) The question is kinda lame, but so is my JBoss knowledge :)
I checked the JBoss community, but it only had a couple of relative unanswered questions there. The information i'm looking for would help me in maintenance cycles. I do not wish to reboot the system when users are still using it. We also need to keep a track of any illegal activities on our server. Hence the requirement.
Would appreciate any pointers :)
Regards,
Abhi
http://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/clustering-http-monitor.html
Enter on your JMX console : ex: ip:port/jmx-console/
Look for "jboss.cache:service=TomcatClusteringCache" on objectName Filter and Apply.
Enter on MBean jboss.cache:service=TomcatClusteringCache (the first option, ignore interceptors)
Look for "printDetails" and invoke it. It shows all opened sessions and attributes.
In CLI:
First of all connect to the server using jboss-cli.sh (it is inside /bin ):
jboss-cli.sh --connect --controller=<ip-server>:9990
For standalone mode:
[standalone#ip-address:9999 /] /deployment=${deployment-name}/subsystem=undertow:read-attribute(name=active-sessions)
For domain mode:
[domain#ip-address:9999 /] /host=${host-name}/server=${server-name}/deployment=${deployment-name}/subsystem=undertow:read-attribute(name=active-sessions)
In Web Management Console:
Access web console using "http://ip-address:9990/"
Select "Deployments" from the left bottom corner.
According to the mode you use:
For standalone mode:
From left panel, select: "deployment"-"${deploymentname}"-"subsystem"-"undertow",
Click on "Data" tab on the main page
For domain mode:
From left panel, select: "Server Groups"-"${server-group-name}"-"deployment"-"${deployment-name}"-"view"-"subsystem"-"undertow"
Click on "Data" tab on the main page
go to /jmx-console/
search for type=Manager or service=ClusterManager
click on the right context.
property "activeSessions" gives the number of sessions
go to JMX console by http://localhost:8080/jmx-console.
Search for your MBEAN on that..
click on that.. there you can find loads of information.