Author Posts

June 6, 2017 at 11:32 am

Hi there

Is there a way to hide all the commands out puts and the popup windows of my script to format a USB disk.
I have used ( | Out-Null ) it help't a little but it didn't hide everything

Best regards to you all

This is my script
======================================================================================================================
======================================================================================================================

# Get Admin Rights

New-Item 'HKCU:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' -Force | New-ItemProperty -Name ExecutionPolicy -Value Unrestricted -Force | Out-Null

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit } | Out-Null

# Run Secrit

$USBDriveNmbr = GET-WMIOBJECT win32_diskdrive | Where { $_.InterfaceType –eq 'USB' } | Select -Expand DeviceID
$USBDriveNmbr = $USBDriveNmbr.Trim("\\.\PHYSICALDRIVE")
$USBDriveLtr1 = (Get-WmiObject Win32_Volume -Filter "DriveType='2'").DriveLetter.Substring(0,1)
$USBDriveLtr2 = Get-WmiObject Win32_Volume -Filter "DriveType='2'"|select -expand driveletter

Get-Disk | Out-Null

Clear-Disk $USBDriveNmbr -RemoveData -Confirm:$False | Out-Null

New-Partition -DiskNumber $USBDriveNmbr –UseMaximumSize -IsActive:$true -AssignDriveLetter | Out-Null

Format-Volume -DriveLetter $USBDriveLtr1 -FileSystem NTFS -NewFileSystemLabel WinSetup | Out-Null

Bootsect.exe /NT60 $USBDriveLtr2 | Out-Null

======================================================================================================================
======================================================================================================================

June 6, 2017 at 2:24 pm

Hi Skl,

You can achieve this two ways, you can either input some arguments on the program properties (target)

 powershell.exe yourpsscript.ps1 -windowstyle hidden 

Or you can run it from a batch file, with those arguments inside,

 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -WindowStyle Hidden -file "yourpsscript.ps1" 

Either should work, there are possibly ways to incorperate it into the PS Script itself, but i imagine it will pop up ever so briefly if this is the case.

June 6, 2017 at 2:56 pm

Hi Chris

i'm grateful for your answer, but what i want is to have it inside the same script.

thank you again Chris

June 6, 2017 at 2:59 pm

This should help,

Put it at the top of your Script, but you will briefly (a second) see a window appear, it's probably the closest you are going to get to a hidden window.

 
Add-Type -Name win -MemberDefinition '[DllImport("user32.dll")] public static extern bool ShowWindow(int handle, int state);' -Namespace native
[native.win]::ShowWindow(([System.Diagnostics.Process]::GetCurrentProcess() | Get-Process).MainWindowHandle,0)

June 6, 2017 at 3:20 pm

It didn't work, i get error message

========================================================================

At C:\Users\Admin\AppData\Local\Temp\1\451F.ps1:8 char:276
+ ... Policy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit } | Out-Nul ...
+ ~
An empty pipe element is not allowed.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : EmptyPipeElement

========================================================================

June 6, 2017 at 3:23 pm

Hi Skl,

That looks like an error in the code you have already defined, as above? the line

 if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit } | Out-Null

Does that run without errors before the snipped is inserted? Try removing the Out-Null and the pipe.

June 6, 2017 at 3:33 pm

Now i didn't get error message and i didn't get windows popups, but the script didn't work correctly, it deleted the partition and it didn't create the new partition.

so what i have now a usb disk without partition.

June 6, 2017 at 3:54 pm

hi Chris

Before adding your script everything worked well, just a lots of popups and you could see a lot of codes.

and i thought if theirs is away to hide it all.

thank you very much for your help.