Friday, August 31, 2012

Tuesday, August 21, 2012

Runas Program




 I wrote up a little program that is similar to my touch screen runas program just missing the buttons. Here is the source code You will need to create a couple buttons and three text boxes. txtpassword txtusername txtpath and two buttons one for running the program and one for exit.

Requires VB.net Express 2010



Imports System.Security
Imports System.ComponentModel

Public Class frmMain

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    End Sub
    Function ConvertToSecureString(ByVal str As String)
        Dim password As New SecureString
        For Each c As Char In str.ToCharArray
            password.AppendChar(c)
        Next
        Return password
    End Function

    Private Sub Step1_UsernamesPasswords()

        Dim strUsername As String
        Dim strpassword As SecureString = ConvertToSecureString(txtpassword.Text)
        Dim strCommand As String = txtpath.Text

        ' MsgBox(strCommand)
       
        strUsername = txtusername.Text


        'If username = nothing display error then exit sub
        If strUsername = Nothing Then
            MsgBox("Error: Please enter a username", , "Error!")
            Exit Sub
        End If

        'the username is then set to a lowercase
        strUsername = LCase(strUsername)

        'Removes all spaces from username
        strUsername = strUsername.Replace(" ", "")





        Step2_Runas(strCommand, strUsername, strpassword)
    End Sub



    Private Sub Step2_Runas(strpathSecure As String, strusername As String, strpassword As SecureString)

        ' Process.Start(strpath, strusername, strpassword, ".")
        Dim pinfo = New System.Diagnostics.ProcessStartInfo
        Dim workingFolder = "c:"
        Dim strArguments As String = ""
        Dim intstrpathsecure As Integer = strpathSecure.Count
        Dim checkforspace
        Dim strlast3characters As String = ""
        Dim strchecklast3char As String
        Dim strErrorMsg As String

        'Checks for an argument and set strArguments if found
        For i = 0 To intstrpathsecure - 1
            strlast3characters = strlast3characters & strpathSecure.Chars(i) 'all characters
            checkforspace = strpathSecure.Chars(i) 'char that currently on

            strchecklast3char = Microsoft.VisualBasic.Right(strlast3characters, 4) ' last 4 chars.
            'This detects when "exe " and there is a space then set arguements values and strpathsecure
            If checkforspace = " " And strchecklast3char = "exe " Or checkforspace = " " And strchecklast3char = "bat " Then
                strArguments = Microsoft.VisualBasic.Mid(strpathSecure, i + 2)
                strpathSecure = Microsoft.VisualBasic.Left(strpathSecure, i)
                Exit For
            End If
        Next i

        pinfo.FileName = strpathSecure
        pinfo.WorkingDirectory = workingFolder
        pinfo.LoadUserProfile = True
        pinfo.UseShellExecute = False
        pinfo.UserName = strusername
        pinfo.Password = strpassword
        pinfo.Arguments = strArguments
        pinfo.Domain = "."

        Try


            System.Diagnostics.Process.Start(pinfo)

        Catch ex As Win32Exception
            'Error Message


            strErrorMsg = "Error: " & ex.Message.ToString & vbNewLine & _
                            "___________________________________________________________ " & vbNewLine & vbNewLine & _
                            "File Path: " & strpathSecure & vbNewLine & _
                            "Arguments: " & strArguments & vbNewLine & _
                            "Username: " & pinfo.UserName & vbNewLine & _
                            "WorkingDirectory: " & pinfo.WorkingDirectory & vbNewLine & _
                            "Time Stamp: " & TimeOfDay & " on " & Date.Today
                            






            'Debug.Assert(False, ex.Message)



            MessageBox.Show(strErrorMsg, "Error logging in as administrator", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try
    End Sub

    Private Sub cmdRun_Click(sender As System.Object, e As System.EventArgs) Handles cmdRun.Click
        Step1_UsernamesPasswords()

      
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        End
    End Sub
End Class

Monday, July 2, 2012

Move Sql Agent Jobs to a new server

1. Click on Jobs under SQL Server Agent
 
 2. For 2005 click on the Summary Tab, 2008 Object Explorer Details Tab under View
 3. Select the all the jobs you wish to backup listed in the object explorer details tab
 
4. Right Mouse click and select Script Job As -> Create To -> File

 5. Save the sql file to the new server
 
6. Execute the sql generated script on the new server and the jobs should populate


Credit to BrianBeall94706
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=99014

Monday, May 7, 2012

Folder Permissions Audit

The purpose of this application is i needed a way to audit NTFS folder permissions on my file server, so instead of using one of the 3rd party programs available I wrote this one.

It contains a batch file for running the executable and a text file called exclude.txt for excluding certain user names from being added to the report. Just extract the zip to a folder and run the batch file you will be asked for the path(non-UNC at the moment)after the executable is done running the report will open in notepad. In the future I will have the report export to comma delimited format.

 Note there isn't any error checking really in this application so be sure to put the correct path (ex z:\temp) When using the exclude.txt be sure to place each username on its own line. This utility only goes one level down so if you are auditing c:\temp it will only audit the top level folders within c:\temp As with any program here use at your own risk. Link to files If you would like the source code leave a comment.

Monday, April 16, 2012

Block USB drive using solidcore

Purpose: Disable usb flash drives from loading using solidcore.

Instructions
Step 1. Log into EPO

Step 2. Create a new rule group under Application Control



Step 3.
I like to name my rules starting with a . so user rules stay at the top
Step 4.
Edit the created rule
Step 5. 
Click the Binary tab and add 
Enter usbstor.sys as rule name and Name select Ban radio button and click ok
Click ok

Step 6. add this newly created rule to an existing policy that is being applied

Thursday, March 15, 2012

Batch delete files older then X days using forfiles : updated!


Purpose:
This batch example will search for files with the extension .txt and deletes file less then 5 days old.

Required:
----------------------------------------------------
Forfiles.exe
/p  The path to search
/s Recurse into sub-folders
/M Mask
/C command The command to execute for each file

/D - dd      Select files with a last modified date less than or
                equal to the current date minus "dd" days. (in the past)
-----------------------------------------------------
Del.exe
-----------------------------------------------------

Code:

Echo on
Forfiles /P c:\temp\ /S /M *.txt /C "cmd /c del @path" /D -5
If you have a space in the path the only way i found forfiles.exe to work is the following example

if a file is older then 30 days in e:\example space then delete
forfiles -p "e:\example space" -m *.* -s -d -30 -c "cmd /C del @FILE"




Powershell: Microsoft Graph to add new roles to application registration

PowerShell Script Bulk add new roles to application registration in azure. Update $roles with ,Us...