Content Type
Profiles
Forums
Events
Posts posted by MrJinje
-
-
There is also a CLSID for a folder lock,
Interesting idea, which class ID is the folder lock.
0 -
A slightly more offline method. Should save everyone about 3 minutes per re-installation.
Dism /Mount-WIM /WimFile:C:\test\images\install.wim /Name:"Windows 8 Professional" /MountDir:C:\test\offlineDism /Image:C:\test\offline /Enable-Feature /FeatureName:NetFx3 /Source:X:\sources\sxsDism /Unmount-WIM /MountDir:C:\test\offline /Commit
0 -
Your missing a language setting in the oobe pass. You've only configured the windowsPE pass for the first portion (winPE) of the install, and you'll need a second oobe setting to suppress the language page for the OS. See post 432 for details
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>en-US</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UILanguageFallback>en-US</UILanguageFallback> <UserLocale>en-US</UserLocale> </component>
0 -
GWT version 1.5.1 released!
- added windows 8.1 RTM files
Thanks, but having a spot of trouble with me webby clicky thing and I get this error. Is the file small enough to attach here ?
Microsoft services are designed for you, but maybe not for your browser0 -
Sounds cool. Will have to check this out and report back.
0 -
It would be possible (using MrJinje’s easy way) to setup the server image in MDT, then mail a bootable USB key with the media that MDT creates loaded on it
On second thought, Windows To Go would be less work. Create a custom image, clone it to some eSata drives and you are done.
0 -
I add the $OEM$ folder structure inside the 'sources' folder on the DVD or USB. That way it gets copied to the correct location during install.
http://www.msfn.org/board/topic/151863-oem-folders/
http://technet.microsoft.com/en-us/library/cc766228%28WS.10%29.aspx
DVDRoot\Sources\$OEM$\$$\Setup\Scripts
0 -
Can you try running them from the setupcomplete.cmd stage instead of first logon stage. Easier to use setupcomplete.cmd for 'system' or machine-wide settings and keep the first logon scripts for 'per user' settings.
http://technet.microsoft.com/en-us/library/hh825167.aspx
The reason why is that"Commands in the Setupcomplete.cmd file are executed with local system privilege." while your 'first logon' commands run with your users token (which may or may not be elevated).
http://technet.microsoft.com/en-us/library/cc766314%28v=ws.10%29.aspx
0 -
Zork
0 -
I wonder when people will start writing new drivers for XP.
0 -
Easy way, Fedex them an installation disk and walk them through it on the phone.
Hard way is to set up your network to perform a wan install. At my office we use Altiris and PXE boot to push images, but you can probably make do with WDS. The trick is that a client machine on each lan runs a dhcp or "pxe relay service" to push the PXE request across the router fabric to the remote altiris server (or WDS, or TFTPD32, or GRLDR or any other remote install method i've missed, like iscsi or ccboot). We do this because 'usually' a PXE request from bare metal doesn't leave the lan segment it is on. Note: It takes longer over a VPN/wan connection but it can be done.
@Jaclaz, How do we do this without using any costly softwares. I seem to recall DHCP option 66 or 67, but it is late, maybe the op should google that for me.
0 -
Hey Nuhi, keep up the hard works.
Got any details on your v-78 product yet ?0 -
Good work max. Check this out, it's a "metro" style rewrite of the old regedit jump trick. Not as nice as yours, but it does the trick.
Got any ideas on how to push a shell ext onto the taskbar /clock area ? Looking for any work-around that is right click available during maximized browser viewing and avoids switching to an explorer window or the desktop to right click.
http://forums.mydigitallife.info/threads/38208-Open-Regedit-directly-to-a-key
0 -
Have a read here.
0 -
Thanks for the tip, I am running it with Set-ACL, seems to be working on W8. Not sure I will need Set-ACL once I try it from SetupComplete.cmd which runs as system already.
SetACL -on "HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}" -ot reg -rec yes -actn setowner -ownr "n:S-1-5-32-544"SetACL -on "HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}" -ot reg -actn ace -ace "n:S-1-5-32-544;p:full"Remove-ItemProperty -Path "registry::HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}" -Name RunAs# and to enable linked connectonsNew-ItemProperty -Path "registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLinkedConnections" -Value 1 -PropertyType "DWord"
0 -
Hey Walrus, if you want to try editing the registry as trustedinstaller without changing permissions, might be easier with the dvexexec.exe tool
devxexec.exe /user:TrustedInstaller regedit.exe
Or maybe you can edit this snip to reg add as TrustedInstaller at the command line. Keeps it simple and stupid, compared to batch scripting SetACL take ownership. EDIT: It cannot pass a variable to the command line, but it can run a batch file directly, so that's a start.
devxexec.exe /user:TrustedInstaller mybatch.cmd
reg add HKLM\Wim_Software\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Windows.delete /v "Icon" /t REG_EXPAND_SZ /d "C:\pathto\myicon.ico"0 -
My bad, forgot to post the get-wiminfo cleanup routine. So far I've got it working from a batch file. Basically I hard-coded a 15 member array, parse the first 15 images of get-wiminfo results (if that many exist) and deletes any blank rows. The remaining rows pre-populate the text portion of the VB inputbox. Short names (like Windows 7 Pro, Windows 7 Home) show 2 on a line, and longer names wrap as shown in my pic. Have not found a way to add vbcrlf, 'r'n or [environment]::Newline to force new rows.
The mechanics of it are sound, but still needs work on the formatting and had planned on re-writing it shorter using some looping logic (which would remove the 15 image limitation of this snippet), but have not found the time.
I troubleshoot single line powershell from .cmd files before going to the registry to make things easier on myself. If you wanted to port back to normal powershell, split rows into readable chunks on the semi-colons ;;;; and then you can run the innards of the -command like normal (and use an IDE for troubleshooting).
$de = Image Index #: The #6 item in the get-wiminfo results array + every 5th item afterwords (6,11,16,etc) is the image index #, save for the last item which is "The operation completed successfully." (removed from array via script)
$ce = Version Name: The #7 item in the get-wiminfo results array + every 5th item afterwords (7,12,17,etc).
$ee = the filtered and formatted "Index#:Name" results that passes to the inputbox. Maybe we should convert this array to an $fe string and manipulate before passing to the input box.
Get-wiminfo-tester.cmd - added some invisible rows to the code box to make it easier to select/copy.
@ECHO OFF
start /wait /b powershell -command "$WIM_FILE = 'A:\install.wim';$de = dism /get-wiminfo /WimFile:$WIM_FILE;$de = $de[6,11,16,21,26,31,36,41,46,51,56,61,66,71,76];$de = @($de | Where-Object {$_ -ne 'The operation completed successfully.'});$de = $de | Foreach-Object {$_ -replace 'Index :', ''};$de = $de | Foreach-Object {$_ -replace ' ', ''};$de;$ce = dism /get-wiminfo /WimFile:$WIM_FILE;$ce = $ce[7,12,17,22,27,32,37,42,47,52,57,62,67,72,77];$ce = @($ce | Where-Object {$_ -ne 'The operation completed successfully.'});$ce = $ce | Foreach-Object {$_ -replace 'Name :', ''};$ce = $ce | Foreach-Object {$_ -replace ' ', ''};$ce = $ce | Foreach-Object {$_ -replace 'WindowsServer', 'Server'};$ce;$ee = ':' , ':',':',':',':',':',':',':',':',':',':',':',':',':',':';$ee[0] = $de[0] + ':' + $ce[0];$ee[1] = $de[1] + ':' + $ce[1];$ee[2] = $de[2] + ':' + $ce[2];$ee[3] = $de[3] + ':' + $ce[3]; $ee[4] = $de[4] + ':' + $ce[4]; $ee[5] = $de[5] + ':' + $ce[5]; $ee[6] = $de[6] + ':' + $ce[6];$ee[7] = $de[7] + ':' + $ce[7]; $ee[8] = $de[8] + ':' + $ce[8];$ee[9] = $de[9] + ':' + $ce[9]; $ee[10] = $de[10] + ':' + $ce[10];$ee[11] = $de[11] + ':' + $ce[11];$ee[12] = $de[12] + ':' + $ce[12];$ee[13] = $de[13] + ':' + $ce[13];$ee[14] = $de[14] + ':' + $ce[14];cls;$ee = @($ee | Where-Object {$_ -ne ':'});$ee;cls;[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic');$INDEX = [Microsoft.VisualBasic.Interaction]::InputBox($ee, 'Which image to mount','1');If ($INDEX -eq '') {exit} Else{Dism /mount-wim /wimfile:$WIM_FILE /index:$INDEX /mountdir:C:\\zMountDir}"It's hardcoded to A:\Install.wim for testing. But you should be able to drop your %1 in it's place. All the other locations refer to $WIM_FILE once in powershell. I couldn't get it to work from the registry yet, but I've only spent about 5 minutes on that so far (yep you guessed it, it was the 5 minutes before I decided to make this post)
0 -
Try setting the message box Title longer. I have done that in normal VB to stretch the box.
looking good. I have been unable to do the wim info with UAC ON so am anxious to see what you done there. I am experimenting with the powershell big time.
Thanks will try that. Found a possible option for leaving UAC on and requesting elevation inline. If you check the last two lines, you'll also see a way to add a cmd.exe style 'pause' to Powershell. Most of it is comments, when I get time I will re-write it..
http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/23/a-self-elevating-powershell-script.aspx
UPDATE, here is rewrite, removed comments, deleted fluff, replaced double quotes, added variables to reduce length, added semi-colons everywhere.
$WID=[System.Security.Principal.WindowsIdentity]::GetCurrent();$WIP=new-object System.Security.Principal.WindowsPrincipal($WID);$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator;if ($WIP.IsInRole($adminRole)){}else{$newProcess = new-object System.Diagnostics.ProcessStartInfo 'PowerShell';$newProcess.Arguments = $myInvocation.MyCommand.Definition;$newProcess.Verb = 'runas';[System.Diagnostics.Process]::Start($newProcess);Write-Host 'Prompting for Elevation';exit;}Write-Host 'ElevatedCodeRunsHere';Write-Host -NoNewLine 'Press any key to continue...';$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
and here's a snip regarding execution policy (for those who scrolled all the way to the end)
If you want to run ps1 scripts in your own application, simply host your own Runspace and use the base authorization manager which pays no heed to system execution policy, even if it’s controlled by group policy and immune to powershell –bypass and set-executiopolicy:Bypassing in Script
Now this is a little more hackish because it involves manipulating powershell.exe internals at runtime. This is a useful one-liner (if you can memorise it) when you find yourself in one of those clients who has GPO controlled execution policy. It’s pushing it for a one-liner, I know, but hey:
function Disable-ExecutionPolicy {
($ctx = $executioncontext.gettype().getfield(
"_context","nonpublic,instance").getvalue(
$executioncontext)).gettype().getfield(
"_authorizationManager","nonpublic,instance").setvalue(
$ctx, (new-object System.Management.Automation.AuthorizationManager
"Microsoft.PowerShell"))
}0 -
can you explain the steps of the procedure please? didnt get it
Right Click > New > Shortcut.
Paste the rundll32 cmd as the 'Item Location' (including the full path to your xlsx).
Windows thinks the shortcut is to Rundll32.exe and doesn't group it with other excel file types so that it can be placed in the taskbar and open your file directly.
0 -
yes and yes.
0 -
do you mean on the taskbar or beside it in it's own section. To avoid my shortcuts being taken over by Excel.exe and my xls being a sub-pinned item, I do something a little sneaky so that my shortcut doesn't know it's really starting excel. Then put that shortcut file in a folder, link the folder as a toolbar, remove text and title and I get an icon on the right of my taskbar.
%windir%\System32\rundll32.exe url.dll,FileProtocolHandler D:\MYEXCELFILE.xls
0 -
Made a re-write (closes properly on input box cancel, avoids second message box/switch pop up, and cmd /c kills the cmd window afterwords), overall it seems much cleaner. When an input box is canceled it returns a null value, now that I know, this snip checks for that and exits. Else it runs the command without having to go into the second pop-up window. If the CMD /C kills the command window before it's done mounting try CMD /K (that might have been why I used it in the first place for DISM)
This is what's going into my next SLMGR, chop it up and edit your DISM bits in.
@="elevate cmd /c start /b powershell -command \"clear-host;[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic');$KEY = [Microsoft.VisualBasic.Interaction]::InputBox('Enter Product Key', 'Enter a Product Key', 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX');If ($KEY -eq '') {exit} Else{wscript.exe C:\\Windows\\System32\\slmgr.vbs -ipk $KEY}\""Got bored, copy pasta'd your snip into this.
@="cmd /k start /b powershell -command \"clear-host;[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic');$INDEX = [Microsoft.VisualBasic.Interaction]::InputBox('Enter Image Index #', 'Which image to mount', '1');If ($INDEX -eq '') {exit} Else{Dism /mount-wim /wimfile:\"%1\" /index:$INDEX /mountdir:C:\\zMountDir}\""Still working on a get-wiminfo integration, here is sneak peak. Not liking the word wrap, gonna spend a little more time on it.
0 -
Yes, you should be able to. Here is an old VBS script that displays the BIOS SLIC data to get you thinking, I'd rewrite it in powershell if I was you. HP, Dell, every other MFG has a unique tag, just need query each machine to assemble your list, then write a CASE statement to apply your keys based on the WMI tag. The last else statement will catchall that do not have OEM tag and prompt for manual interaction to avoid any piracy issues. In theory it will only install your DELL key on a DELL machine and so forth. Good luck.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_BIOS",,48)
For Each objItem in colItems
Wscript.Echo "Version: " & objItem.Version
NextThe certs can be loaded via the SLMGR command at the same time you install the key and would not be applied to machines that do not match.
Whether or not this is allowed by Microsoft license I am unsure of, all I am saying is that it 'could' be done. There may be an obscure stipulation that corporations cannot do this for customers unless they have their own physical media, contact your lawyer. Mr Jin-Jay is not role a model. He's not even human. Some of the things he says and does could cause a person to get hurt, expelled, arrested, possibly deported. To put it another way: Don't try this at home.
0 -
What happens when you try to install the i586 manually. Try it without the silent switches (in your VM) and see if any errors pop up.
0
msvfw32.dll is missing from your computer
in Windows 7
Posted
Try this