<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Ramesh's blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/rkramesh/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/rkramesh/feed.xml</link>
    <description>SCCM, SharePoint, Scripting and others</description>
    <lastBuildDate>Mon, 03 Sep 2018 05:39:46 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>PowerShell script to zip files individually</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/powershell-script-to-zip-files-individually</link>
      <pubDate>Mon, 03 Sep 2018 05:39:46 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/?p=265</guid>
      <description><![CDATA[This is a simple PowerShell script to zip each file in a source folder location individually and...]]></description>
      <content:encoded><![CDATA[<span>This is a simple PowerShell script to zip each file in a source folder location individually and place them in a target folder.</span>

<span>The script is attached as a file to this blog, following needs to be done before executing the executing it:</span>
<ol>
 	<li>$sourcePath: Provide the folder location where the files to be zipped are placed</li>
 	<li>$targetPath: Provide the folder location where the zipped files will be placed</li>
 	<li>$currentFileExtension: The extension of the files to be zipped</li>
</ol>
<a href="https://msdnshared.blob.core.windows.net/media/2018/09/ZipXlsxFiles.ps1_.txt">ZipXlsxFiles.ps1.txt</a>

Thank you]]></content:encoded>
    </item>
    <item>
      <title>Collect SCCM client log - For troubleshooting</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/sccm-client-log-collection-for-troubleshooting</link>
      <pubDate>Mon, 19 Sep 2016 03:30:58 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/?p=215</guid>
      <description><![CDATA[On a client machine to troubleshoot issues related software/patch deployment (via SCCM), a set of...]]></description>
      <content:encoded><![CDATA[On a client machine to troubleshoot issues related software/patch deployment (via SCCM), a set of information would be required from the respective machine.

I have developed a powershell script <a href="https://msdnshared.blob.core.windows.net/media/2016/09/LogCollection-v1.0.txt">LogCollection v1.0</a> to collect such required information from the reported machine. This might be useful for the needy.

This script will perform following actions in the client on which it is being executed:
<ol>
 	<li>Check the status of below services:
<ol>
 	<li>SMS Agent Host [If stopped then it will start]</li>
 	<li>Windows Management Instrumentation [If stopped then it will stop with a message]</li>
 	<li>CNG Key Isolation [If stopped then it will start]</li>
</ol>
</li>
</ol>
<ol start="2">
 	<li>Trigger the below SCCM policies
<ol>
 	<li>Machine Policy Retrieval &amp; Evaluation Cycle</li>
 	<li>Application Deployment Evaluation Cycle</li>
 	<li>Software Update Scan Cycle</li>
 	<li>Software Update Deployment Evaluation Cycle</li>
</ol>
</li>
</ol>
<ol start="3">
 	<li>Gather below data:
<ol>
 	<li>IPConfig</li>
 	<li>CCMCache folder info</li>
 	<li>List of application installed</li>
 	<li>List of MS KBs installed</li>
 	<li>log</li>
</ol>
</li>
</ol>
<ol start="4">
 	<li>Collect SCCM logs</li>
</ol>
<strong>NOTE: <em>LogCollections.log</em></strong> will log the status of the above actions.]]></content:encoded>
    </item>
    <item>
      <title>Running the SCCM Client policy via a Package Deployment</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/running-the-sccm-client-policy-via-a-package-deployment</link>
      <pubDate>Mon, 19 Sep 2016 02:57:08 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/?p=205</guid>
      <description><![CDATA[Though the SCCM client re-run all the SCCM client policy at a respective interval, there would be...]]></description>
      <content:encoded><![CDATA[Though the SCCM client re-run all the SCCM client policy at a respective interval, there would be some requirement where we need certain policies to be triggered explicitly.

This can be done directly from the Configuration Manager client that is installed on the client machine, but still we 'may' need to have this in a script and deploying it via SCCM.

There are multiple ways to achieve this but here I have outlined what i have used in my environment to automate.
<ol>
 	<li>Create a .bat file with below lines [to trigger the policies on the client machine]</li>
</ol>
<em>WMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000021}" /NOINTERACTIVE</em>
<em>WMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000022}" /NOINTERACTIVE</em>
<em>WMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000113}" /NOINTERACTIVE</em>
<em>WMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000114}" /NOINTERACTIVE</em>

The above lines is to trigger below policies:

Machine Policy Evaluation Cycle
Machine Policy Retrieval Cycle
Software Update Scan Cycle
Software Update Deployment Evaluation Cycle

NOTE: You can change the set of policies as per your requirement, you just need ammend the WMI command with correct to specify the correct
<ol start="2">
 	<li>Create a .vbs file with below lines [to call the .bat file created in the above step]</li>
</ol>
<em>Dim objShell</em>
<em>Dim runBatFile</em>

<em>Set objShell = WScript.CreateObject("WScript.Shell")</em>
<em>runBatFile = "BatFileName.bat"</em>
<em>objShell.Run runBatFile, 0, false</em>

<em>Set objShell = Nothing</em>
<em>Set runBatFile = Nothing</em>
<ol start="3">
 	<li>Create a package in SCCM including both .bat and .vbs file.</li>
 	<li>Create a program that calls .vbs file.</li>
 	<li>Create a deployment using the program</li>
</ol>
&nbsp;

The deployment can be created either as available or required. If the deployment is in required mode then it can also be scheduled so that it re-runs on certain interval.

Also take note that these scripts can also be deployed to end user machines via SCCM by creating a schedule task.

You can verify the below SCCM client logs to confirm that the script is indeed working:

<span>              </span>Machine Policy:
<span>                            </span>PolicyEvaluator.log
<span>                            </span>PolicyAgent.log
<span>                            </span>StatusAgent.log

<span>              </span>Software Update Deployment Evaluation Cycle:
<span>                            </span>UpdateStore.log
<span>                            </span>StateMessage.log

<span>              </span>Software Update Scan Cycle:
<span>                            </span>ScanAgent.log
<span>                            </span>StateMessage.log

The above steps can also be achieved by implementing these scripts via GPO by creating a Schedule task, but if we need reports to be generated then SCCM is the best.]]></content:encoded>
    </item>
    <item>
      <title>Sending email using Powershell script</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/sending-email-using-powershell-script</link>
      <pubDate>Fri, 16 Mar 2012 06:21:45 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/2012/03/16/sending-email-using-powershell-script/</guid>
      <description><![CDATA[&nbsp;&nbsp;Below is a script that can be used to send email using Powershell.&nbsp;function...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;<p>&nbsp;Below is a script that can be used to send email using Powershell.</p><p>&nbsp;function sendMail{</p><p>&nbsp;&nbsp;&nbsp;&nbsp; Write-Host "Sending Email"</p><p>&nbsp;&nbsp;&nbsp;<strong>&nbsp; #SMTP server name</strong><br>&nbsp;&nbsp;&nbsp;&nbsp; $smtpServer = "smtp.xxxx.com"</p><p>&nbsp;<strong>&nbsp;&nbsp;&nbsp; #Creating a Mail object</strong><br>&nbsp;&nbsp;&nbsp;&nbsp; $msg = new-object Net.Mail.MailMessage</p><p>&nbsp;&nbsp;<strong>&nbsp;&nbsp; #Creating SMTP server object</strong><br>&nbsp;&nbsp;&nbsp;&nbsp; $smtp = new-object Net.Mail.SmtpClient($smtpServer)</p><p>&nbsp;<strong>&nbsp;&nbsp;&nbsp; #Email structure</strong> <br>&nbsp;&nbsp;&nbsp;&nbsp; $msg.From = "<a href="mailto:fromID@xxxx.com">fromID@xxxx.com</a>"<br>&nbsp;&nbsp;&nbsp;&nbsp; $msg.ReplyTo = "<a href="mailto:replyto@xxxx.com">replyto@xxxx.com</a>"<br>&nbsp;&nbsp;&nbsp;&nbsp; $msg.To.Add("<a href="mailto:toID@xxxx.com">toID@xxxx.com</a>")<br>&nbsp;&nbsp;&nbsp;&nbsp; $msg.subject = "My Subject"<br>&nbsp;&nbsp;&nbsp;&nbsp; $msg.body = "This is the email Body."</p><p><strong>&nbsp;&nbsp;&nbsp;&nbsp; #Sending email</strong> <br>&nbsp;&nbsp;&nbsp;&nbsp; $smtp.Send($msg)<br>&nbsp; <br>}</p><p><strong>#Calling function</strong><br>sendMail</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>PreUpgradeCheck does not run</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/preupgradecheck-does-not-run</link>
      <pubDate>Thu, 23 Feb 2012 01:35:43 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/2012/02/23/preupgradecheck-does-not-run/</guid>
      <description><![CDATA[Issue:  In some occasion while trying to run the PreUpgradeCheck command it throw below...]]></description>
      <content:encoded><![CDATA[<p><strong>Issue:</strong> <br> In some occasion while trying to run the <strong>PreUpgradeCheck</strong> command it throw below error:<p><em>Pre-upgrade check cannot proceed because the current farm is not joined to a farm, or the farm configuration database is not responding. </em></p><p><br><strong>Resolution: </strong></p><p>This error is probably that you don't have the sufficient privileges to run the command, so run the command prompt with Farm Administrator account and run the PreUpgradeCheck.</p><p>&nbsp;</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Adding a new managed account in SharePoint 2010 using PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/adding-a-new-managed-account-in-sharepoint-2010-using-powershell</link>
      <pubDate>Wed, 08 Feb 2012 22:04:00 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/2012/02/08/adding-a-new-managed-account-in-sharepoint-2010-using-powershell/</guid>
      <description><![CDATA[This is script to add a managed account programmatically using powershell. In this script we check...]]></description>
      <content:encoded><![CDATA[<p>This is script to add a managed account programmatically using powershell. In this script we check if the account already exists if not then add it.<p>Below are the variable that will hold the needed data for the creation of the managed account.</p><ol>
<li>$AppPoolAC: The account that needs to be added to Managed Account.</li>
<li>$AppPoolACCred: This the location of text file in which we have the password of the account stored as plain text.</li>
</ol><p></p><p><b>&nbsp;&nbsp;&nbsp;&nbsp; #Adding the app pool account as managed account to the farm</b></p><p style="text-align: left;">&nbsp;<span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp; LogInfo("Adding the app pool account as managed account to the farm.")</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp; Try</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp; {</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $AccountPassword = get-content $AppPoolACCred | convertto-securestring</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $AccountCred = new-object -typename System.Management.Automation.PSCredential -argumentlist $AppPoolAC,$AccountPassword&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If((Get-SPManagedAccount | Where {$_.UserName -eq $AppPoolAC}) -eq $null){</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Try</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ManagedACStatus=New-SPManagedAccount -Credential $AccountCred -ErrorAction SilentlyContinue -ErrorVariable $Myerror</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If($ManagedACStatus -eq $null)</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LogError("The $AppPoolAC was not added as Managed Account, please check if it is a valid account.")</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Catch [System.Exception]</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LogError("$AppPoolAC can not be added as Managed Account due to:"+$_.Exception.Message)</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else{</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LogInfo("$AppPoolAC is already exiting in Managed Account.")</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp; }</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp; Catch [System.SystemException]</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp; {</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LogError("$AppPoolAC can not be added as Managed Account due to:"+$_.Exception.Message)</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit</em></span></p><p style="text-align: left;"><span style="font-size: x-small;"><em>&nbsp;&nbsp;&nbsp;&nbsp; }</em></span></p><p style="text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp;&nbsp;</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Creating table using Powershell</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/creating-table-using-powershell</link>
      <pubDate>Wed, 01 Feb 2012 22:55:42 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/2012/02/01/creating-table-using-powershell/</guid>
      <description><![CDATA[Below is a sample script to create a datatable using powershell.$tabName = "SampleTable"#Create...]]></description>
      <content:encoded><![CDATA[<p>Below is a sample script to create a datatable using powershell.<br><br><br>$tabName = "SampleTable"<br><br>#Create Table object<br>$table = New-Object system.Data.DataTable &ldquo;$tabName&rdquo;<br><br>#Define Columns<br>$col1 = New-Object system.Data.DataColumn ColumnName1,([string])<br>$col2 = New-Object system.Data.DataColumn ColumnName2,([string])<br><br>#Add the Columns<br>$table.columns.add($col1)<br>$table.columns.add($col2)<br><br>#Create a row<br>$row = $table.NewRow()<br><br>#Enter data in the row<br>$row.ColumnName1 = "A" <br>$row.ColumnName2 = "1" <br><br>#Add the row to the table<br>$table.Rows.Add($row)<br><br>#Display the table<br>$table | format-table -AutoSize <br><br>#NOTE: Now you can also export this table to a CSV file as shown below.<br><br>$tabCsv = $table | export-csv $getPathoutputMACAddress.csv -noType </p>
]]></content:encoded>
    </item>
    <item>
      <title>Validate the existence of user account in AD using Powershell</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/validate-the-existence-of-user-account-in-ad-using-powershell</link>
      <pubDate>Tue, 17 Jan 2012 02:57:32 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/2012/01/17/validate-the-existence-of-user-account-in-ad-using-powershell/</guid>
      <description><![CDATA[This is a small script that is used to check if the given user account does exists in Active...]]></description>
      <content:encoded><![CDATA[<p><p>This is a small script that is used to check if the given user account does exists in Active Directory. If you have a xml/csv/txt file with multiple user accounts to be checked then this script can be used with some modification to read the data from the file.</p><p>The input data for the below script are:</p><ul>
<li>Username: This variable will hold the user account to be checked</li>
<li>ADServer: Active Directory server name to which the LDAP query will be sent</li>
<li>ADPort: Active Directory port number. Port 389 is the default port for the Lightweight Directory Access Protocol</li>
</ul><p>Below is the script.</p><p href="https://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx">######################################################################################################<br>#Validate if the specified account exists in AD<br>######################################################################################################<br><br>#ActiveDirectory Module is been imported to Powershell. This is explained <a href="https://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx">here</a>.<br>Import-Module ActiveDirectory</p><p href="https://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx">$Username=Read-host -prompt "`nPlease enter the user account [domain\account]:"<br>$ADServer=Read-host -prompt "`nPlease enter the AD Server name [NetBIOS name]:"<br>$ADPort=Read-host -prompt "`nPlease enter the AD port no.:"</p><p href="https://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx">#Using WMI object to retrieve the domain name<br>$ADDomainName=(Get-WmiObject Win32_ComputerSystem).Domain</p><p href="https://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx">#Splitting the domain name a.com to a and com<br>$D1name=($ADDomainName.Split(".")[0])<br>$D2name=($ADDomainName.Split(".")[1])<br>write-host("Retrieved the Root AD domain.")</p><p href="https://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx">#Function with LDAP query to check the user account in AD<br>Function Check-ADUser <br>{ <br>&nbsp;&nbsp;&nbsp; Param ($Username) <br>&nbsp;<br>&nbsp;&nbsp;&nbsp; $Username = ($Username.Split("\")[1]) <br>&nbsp;&nbsp; &nbsp;$ADCompletePath = "LDAP://"+$ADServer+":"+$ADPort+"/DC="+$D1name+",DC="+$D2name<br>&nbsp;&nbsp; &nbsp;$ADRoot =&nbsp; [ADSI]'"$ADCompletePath"'<br><br>&nbsp;&nbsp;&nbsp; $ADSearch = New-Object System.DirectoryServices.DirectorySearcher($ADRoot) &nbsp;<br>&nbsp;&nbsp;&nbsp; $SAMAccountName = "$Username" <br>&nbsp;&nbsp;&nbsp; $ADSearch.Filter = "(&amp;(objectClass=user)(sAMAccountName=$SAMAccountName))" <br>&nbsp;&nbsp;&nbsp; $Result = $ADSearch.FindAll() <br>&nbsp;<br>&nbsp;&nbsp;&nbsp; If($Result.Count -eq 0) <br>&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $Status = "0" <br>&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp; Else <br>&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $Status = "1" <br>&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; $Results = New-Object Psobject <br>&nbsp;&nbsp;&nbsp; $Results | Add-Member Noteproperty Status $Status <br>&nbsp;&nbsp;&nbsp; Write-Output $Results&nbsp;&nbsp;&nbsp; &nbsp;<br>}<br><br>$Status = (Check-ADUser -username $username).Status<br>If ($Status -eq 1)<br>{<br>&nbsp;&nbsp;&nbsp; write-host("$UserName exists.")<br>} Else {<br>&nbsp;&nbsp;&nbsp; write-host("$UserName does not exists. Please give a valid account.")<br>&nbsp;&nbsp;&nbsp; Exit<br>}</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>How to add Active Directory module in PowerShell in Windows 7</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/how-to-add-active-directory-module-in-powershell-in-windows-7</link>
      <pubDate>Tue, 17 Jan 2012 02:19:31 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7/</guid>
      <description><![CDATA[If you are planning to run a Powershell script with Active Directory commandlets on a Win 7 machine...]]></description>
      <content:encoded><![CDATA[<p style="margin: 0in; font-family: Calibri; font-size: 11pt;">If you are planning to run a Powershell script with Active Directory commandlets on a Win 7 machine or any other machine that DOES NOT have AD role then you need to do some preliminary steps as listed below.<p style="margin: 0in; font-family: Calibri; font-size: 11pt;">&nbsp;</p><p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 11pt;">Step1:</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">&nbsp;</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">By default one can not import Active Directory module in Powershell in Windows 7. You need to do either of the below:<br> &nbsp;</p><ul style="margin-left: 0.75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;" type="circle">
<li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11pt;">Download "Active Directory Management Gateway Service" on 2003 or 2008 server [</span><a href="https://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=2852"><span style="font-family: Calibri; font-size: 11pt;">https://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=2852</span></a><span style="font-family: Calibri; font-size: 11pt;">]</span></li>
<li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11pt;">Download "Remote Server Administration Tools" on Win 7 [KB958830: </span><a href="https://www.microsoft.com/download/en/details.aspx?id=7887"><span style="font-family: Calibri; font-size: 11pt;">https://www.microsoft.com/download/en/details.aspx?id=7887</span></a><span style="font-family: Calibri; font-size: 11pt;">] </span></li>
</ul><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">&nbsp;</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">By doing this you will get the Active directory module to be used in the Power shell scripting.</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">&nbsp;</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">In this article I have explained the steps for Windows 7.</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">&nbsp;</p><p style="margin: 0in; font-weight: bold; font-family: Calibri; font-size: 11pt;">Step2:</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">&nbsp;</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">After the installation of the KB958830 go to Windows Feature and enabled the highlighted items as below.</p><p style="margin: 0in; font-family: Calibri; font-size: 11pt;">&nbsp;</p><p style="margin: 0in;"><img src="data:image/png;base64,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"></p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Creating log files in Powershell scripts</title>
      <link>https://docs.microsoft.com/archive/blogs/rkramesh/creating-log-files-in-powershell-scripts</link>
      <pubDate>Mon, 16 Jan 2012 01:05:24 GMT</pubDate>
      <dc:creator><![CDATA[RameshRK]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/rkramesh/2012/01/16/creating-log-files-in-powershell-scripts/</guid>
      <description><![CDATA[I was working on a project in which I had to create a script to do some solution deployment, site...]]></description>
      <content:encoded><![CDATA[<p></p>
<p>I was working on a project in which I had to create a script to do some solution deployment, site creations etc., and while doing these the script shoul create log file to log entire process. This is a sample script which i worked out and could be useful to all needy.</p>
<p>This script has 3 functions those will be taking care of generating log files.</p>
<ol>
<li>LogInfo: General information will be logged, it is called as and when a normal process is completed.</li>
<li>LogError: Errors will be logged, it is called when an error is encountered.</li>
<li>ConfigureLogger : This function is for configuring Log:</li>
<ol>
<li>The directory where the logs will be stored</li>
<li>Name of the log file</li>
<li>Pattern of writing the log file</li>
</ol></ol>
<p>In this script i have taken SharePoint Admin &amp; Timer service for example, the script will start these two service if they are not and log the same in log file.</p>
<p>I have attached the script, please change the extension of the file prior executing.</p>
<p></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/10/25/70/39/LogFileInPS.PS1.txt" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-25-70-39/LogFileInPS.PS1.txt">LogFileInPS.PS1.txt</a></p>]]></content:encoded>
    </item>
  </channel>
</rss>