Skip to content

PowerShell HTML System Report

I’ve been playing with HTML in PowerShell and ended creating not so bad script including function that creates HTML report with system info for a remote computer/server. In includes Operating System, CPU, Memory and Hard Disk, CD-Rom Info which are exported to a html file. It’s not a piece of art, have some basic error suppression, but if someone needs some info quickly it will do the job. Enjoy and leave me a comment if you need help using the script. Special thanks to Ansgar Wiechers and StackOverflow How to use: From the script folder (start powershell as admin) The entire package can be downloaded from the link below: Get-SystemReport

WSUS on secondary SCCM site

WSUS on Secondary Site   Generally speaking if everything is OK you install WSUS role with the same setup as your primary site, launch the console once, close it, install SUP from the SCCM  and configure it and that’s it. However, sometimes the WSUS breaks and when that happens it is usually a pain to get it back. These are just my two cents. Good post on SUP installation could be read here. Setting up WSUS + SUP on a Secondary Site (SCCM2012) Uninstallation TIPS: I would uninstall the WSUS and WID roles, and DELETE any resource used by WSUS. This includes: The %ProgramFiles%\Update Services folder The ~\WSUS folder tree The HKLM\Software\Microsoft\Update Services registry key. –… Read More »WSUS on secondary SCCM site

Server Core 2012 R2 Thoughts

Server 2012 R2 Core Thoughts Auto configured IP address is preferred – Solved Duplicated IP PoshFix Enable Remote Administration – Done – sconfig OR Check Firewall– Get-NetFirewallProfile Set Firewall – Set-NetFirewallProfile –Name Domain –Enabled False Check Remote Desktop -Get-ItemProperty -Path “HKLM:\System\CurrentControlSet\Control\Terminal Server” the one we’re interested is “fDenyTSConnections” – must be 0 Set Remote Desktop – Set-ItemProperty –Path HKLM:\System\CurrentControlSet\Control\Terminal Server” -Name “fDenyTSConnections” –Value 0 Set IP/DNS – sconfig OR Check – ipconfig /all OR Get-NetIPAddress Get Adapter index – Get-NetAdapter (ifIndex) Set – Set-IPAdd                ress –InterfaceIndex (ifIndex) –AddressFamily IPv4 –Type Unicast –PrefixLenght (prefixlenght) Set-DnsClientServerAddress –InerfaceIndex (ifIndex) –ServerAddresses, (separated by comma, if DC I would put it’s own IP address as first, existing DC… Read More »Server Core 2012 R2 Thoughts

Microsoft Windows Security Audit Event Accesses IDs

I’m working on a powershell script extracting the file server audit log and creating a human readable html out of it when I got stumbled by the beautiful codes below (which are really hard to find) and decided that they deserve a re-post. Thanks to this guy for translating them. The list below is from WinXP, there are more codes in the newer windows versions, however, these are still valid. Here is the link to the TechNet post. BTW the Resource Hacker  still works and you can use it to extract the codes from %windir%\system32\msobjs.dll . Please note that you’ll have to translate them from HEX to decimal to receive the values you got from the… Read More »Microsoft Windows Security Audit Event Accesses IDs

Windows 10 search not working

After the October patch Tuesday taskbar search suddenly stopped working along with the search itself – when something was typed search simply disappears, taskbar turns black/empty. I found in the log  the following errors: Faulting application name: SearchUI.exe, version: 10.0.14393.953, time stamp: 0x58ba5a2f Faulting module name: SearchUI.exe, version: 10.0.14393.953, time stamp: 0x58ba5a2f Exception code: 0xc000027b And: Activation of app Microsoft.Windows.Cortana_cw5n1h2txyewy!CortanaUI Please note that i disabled Cortanta through the registry long time ago – I don’t use and so on, no matter the reason, I just don’t want it. So it seems that after the last patches Microsoft tried to shove it down my throat again, of course, without asking me do I want it at… Read More »Windows 10 search not working

No Internet Access Icon Windows 7/2008

Today I had to do this for an isolated network, it was a great reminder 🙂 I had some missing GPO templates (2008 R2 server) which are easily obtained from Microsoft Installation is straight forward and explained under Install Instructions. And yes, you need both policies enabled.

Install Primary and Additional Domain Controller With PowerShell Cheat Sheet

# # Windows PowerShell script for AD DS Deployment #Do no forget to rename the computer, set static IP, enable remote desktop if needed and so on # Install-WindowsFeature AD-Domain-Services Install-ADDSForest ` -CreateDnsDelegation:$false ` -DatabasePath “C:\Windows\NTDS” ` -DomainMode “Win2012” ` -DomainName “” ` -DomainNetbiosName “DOMAIN” ` -ForestMode “Win2012” ` -InstallDns:$true ` -LogPath “C:\Windows\NTDS” ` -NoRebootOnCompletion:$false ` -SysvolPath “C:\Windows\SYSVOL” ` -Force:$true #Add Secondary DC # # Do not forget to rename the computer first Rename-Computer -NewName whatever #Set Static IP and DNS #Could be done with interface index as well #get-wmiobject win32_networkadapter | select netconnectionid, name, InterfaceIndex, netconnectionstatus #netconnection status 2 gives us only connected adapters 🙂 New-NetIPAddress -InterfaceAlias Ethernet -IPAddress YOURSERVERIP  -DefaultGateway GATEWAYIP -AddressFamily IPv4… Read More »Install Primary and Additional Domain Controller With PowerShell Cheat Sheet

PowerShell TimeZone, Date and So On

If someone ever wondered how to change time, timezone or date in a powershell session or in a core server here is how. If today is 27 May 2017 and we want to set the clock to 16:12: Set-Date -Date “5/27/2017 16:12” More on this here. If only the timezone needs to be changed lets say to Central European: Set-TimeZone -Id “Central European Standard Time” List of all time zones could be obtained in powershell with the following command (Thank you scriptingguy you are priceless): [System.TimeZoneInfo]::GetSystemTimeZones()    

Query Workstations SCCM

Fox x64 bit workstations: Or use the one from this Technet post select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like “%7%” and SMS_R_System.Client = 1 and SMS_R_System.Obsolete = 0 and SMS_G_System_COMPUTER_SYSTEM.SystemType = “x64-based PC” If you dont want to filter obsolete and client installed machines remove ” SMS_R_System.Client = 1 and SMS_R_System.Obsolete = 0 and” For x86 workstations:   select *  from  SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType = “X86-based PC”