Note the: /netonly
runas /netonly /user:domainusername “C:\Program Files (x86)\Microsoft\SQL Server\100\Tools\Binn\VSShell\Common7\IDES\sms.exe”
Note the: /netonly
runas /netonly /user:domainusername “C:\Program Files (x86)\Microsoft\SQL Server\100\Tools\Binn\VSShell\Common7\IDES\sms.exe”
PS D:Usersxxx> (get-qaduser "myaccount").memberof.count 46 PS D:Usersxxx> (get-qaduser "myaccount").allmemberof.count 98 PS D:Usersxxx> (get-qaduser "myaccount").nestedmemberof.count 53
According to: http://msdn.microsof … ibrary/ms677943.aspx: “memberOf does not contain the user’s membership in domain local and global groups in other domains.”
Indeed, AllMemberOf shows these groups too (DomainLocal only in my example).
PS D:Usersxxx> $groups = (get-qaduser "myaccount").allmemberof PS D:Usersxxx> foreach ($group in $groups) { (get-qadgroup $group).GroupScope } Global Global Global DomainLocal Global
All those ways to get the size of directories with powershell are extremely slow. Especially on network shares.
e.g.
$colItems = (Get-ChildItem C:Scripts | Measure-Object -property length -sum) "{0:N2}" -f ($colItems.sum / 1MB) + " MB"
Currently i’m harvesting through roughly 40TB of data and it’s taking me daaaaaaaaaays!
So i’m in desperate need of something faster.
Then i thought about robocopy. Robocopy gives great statistics. So if i do a “dry-run” (list-only, not really copy), i might get the information i need by parsing the output.
Choice of switches:
Then we get this piece of code (it could be a lot shorter, but i’m keeping it readable):
function get_size_of_dir_in_bytes_with_robocopy ($directory) { write-host "- $directory" -foreground "GREEN" [string]$result = robocopy /b /l /mir "$directory" "c:\whatever" /r:0 /w:0 /ns /nc /nfl /ndl /njh /bytes if (!($lastexitcode -eq 16)) { $pos = ($result).indexof("Bytes : ") $start = $pos + 8 $length = $result.length $end = $length - $start $newstring = ($result).substring($start,$end) $newstring = $newstring.trim() echo $newstring.split()[0] } else { echo "CANNOT ACCESS" } }
add the following lines to /etc/sysctl.conf
# IPv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
… and reboot.
Or simply reload the settings:
sysctl -p
2019 update:
sysctl.conf still works, but it won’t be processed during boot.
Therefor recent Ubuntu’s need an extra grub parameter ipv6.disable=1. Like so:
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet ipv6.disable=1" GRUB_CMDLINE_LINUX="ipv6.disable=1"
Quick reference:
Too bad the hp software doesn’t support 3.x kernels, so you need to fool it a little.
setarch i686 --uname-2.6 hpacucli controller all show config
Because of my work, i come across a very common phenomen: the windows SMB protocol and how it relates to latency on your network. Office documents, even more than other types, seem to be affected.
I found a real nice whitepaper by Microsoft. It also contains a lot of (client side) fixes/suggestions.
Here’s a nice example and probably the main reason for the delay:
By default, your android calendar will synchronize:
This means: when you start with a new phone or did a full wipe of your phone, you’ve lost all your history beyond 30-50 days. The only way to see these appointments is to log in to your web calendar.
To sync an old item, you could “refresh” the old items (say, edit some fields like location or time) but you don’t want to do that for thousands of items.
There is a way to “refresh” all your items at once:
Hmm seems like $lastexitcode is a builtin variable. Nice!
robocopy "\\serverA\shareA" "\\serverB\shareB" /MIR /R:0 /W:0 /MT:4 /NP /LOG:"d:\logs\shareA_to_shareB.log" | out-null interpret_robocopy_error $lastexitcode
and the function interpret_robocopy_error could be something quick’n'dirty like this:
function interpret_robocopy_error ([int]$errorlevel) { if ($errorlevel -eq 16) { echo " - Robocopy - ***SERIOUS FATAL ERROR*** "} if ($errorlevel -eq 15) { echo " - Robocopy - OKCOPY + FAIL + MISMATCHES + XTRA "} if ($errorlevel -eq 14) { echo " - Robocopy - FAIL + MISMATCHES + XTRA "} if ($errorlevel -eq 13) { echo " - Robocopy - OKCOPY + FAIL + MISMATCHES "} if ($errorlevel -eq 12) { echo " - Robocopy - FAIL + MISMATCHES "} if ($errorlevel -eq 11) { echo " - Robocopy - OKCOPY + FAIL + XTRA "} if ($errorlevel -eq 10) { echo " - Robocopy - FAIL + XTRA "} if ($errorlevel -eq 9) { echo " - Robocopy - OKCOPY + FAIL "} if ($errorlevel -eq 8) { echo " - Robocopy - FAIL "} if ($errorlevel -eq 7) { echo " - Robocopy - OKCOPY + MISMATCHES + XTRA "} if ($errorlevel -eq 6) { echo " - Robocopy - MISMATCHES + XTRA "} if ($errorlevel -eq 5) { echo " - Robocopy - OKCOPY + MISMATCHES "} if ($errorlevel -eq 4) { echo " - Robocopy - MISMATCHES "} if ($errorlevel -eq 3) { echo " - Robocopy - OKCOPY + XTRA "} if ($errorlevel -eq 2) { echo " - Robocopy - XTRA "} if ($errorlevel -eq 1) { echo " - Robocopy - OKCOPY "} if ($errorlevel -eq 0) { echo " - Robocopy - No Change "} }
Start your Network and Sharing center from the Control Panel
netsh wlan set hostednetwork mode=allow ssid=mobile_hotspot key=password keyUsage=persistent
In the Network and Sharing center, you’ll notice a new wireless connection, the default name will probably be “Wireless Network Connection 2”. Remember this, you’ll need it in step 2
netsh wlan start hostednetwork
Remember, the wifi hotspot will not start by default, so create a shortcut somewhere. Make sure you enable the “Run as administrator” in the shortcut property.
In my case i’m migrating from a Kerio Mailserver that is presenting all the folders as a subfolder of inbox, hence the
--sep1 . --prefix1 inbox
Always start the commands with the “–dry” option to do a dry-run (test-run) first!
To migrate the inbox and all subfolders:
imapsync --syncinternaldates --useheader 'Message-Id' --buffersize 8192000 --nosyncacls --host1 oldhost.domain.com --user1 [email protected] --passfile1 passfile1.txt --ssl1 --host2 imap.gmail.com --user2 [email protected] --passfile2 passfile2.txt --ssl2 --authmech2 LOGIN --sep1 . --sep2 . --prefix1 inbox --folderrec INBOX
Sent items need a little bit of translation. “Sent Items” will be translated to “[Gmail]\Verzonden berichten” (Dutch language).
imapsync --syncinternaldates --useheader 'Message-Id' --buffersize 8192000 --nosyncacls --host1 oldhost.domain.com --user1 [email protected] --passfile1 passfile1.txt --ssl1 --host2 imap.gmail.com --user2 [email protected] --passfile2 passfile2.txt --ssl2 --authmech2 LOGIN --sep1 . --prefix1 inbox --folder "Sent Items" --regextrans2 's/Sent Items/\[Gmail\]\/Verzonden berichten/'
Oops, tested the previous script on a samba server. For some reason, testing the script on a Windows 2008 R2 domain resulted in an exception. So here´s the new script.
Check will output warnings in red to your screen, all the rest of the data will go to the logfile.
For best results, export to a .csv and open in excel. Then sort the first column.
Calling the script:
path_depth_analysis "G:mydirectory" >c:output.csv
The script:
function path_depth_analysis( $path ) { $items = get-childitem $path if (!($items.count) -eq 0) { foreach ($item in $items) { [int]$length_path = $path.length [int]$length_item = $item.name.length [int]$total_length = $length_path + $length_item if ($total_length -gt 240) { $item_name = $item.name write-host "! - $total_length - $path -> $item_name" -foreground RED } [string]$fullname = $item.FullName [string]$type = $item.GetType().Name if ($type -eq "FileInfo") { echo "$total_length;file;$fullname" } else { echo "$total_length;dir;$fullname" path_depth_analysis "$fullname" } } } }
this script doesn’t seem to work correctly in a Windows-Windows environment, please go to test for files or directories exceeding Windows MAX_PATH (v2)
This week i was reading about a customer that needed an analysis of files or directories that were “too long”. As you may or may not know: if the full path to a file exceeds 260 characters, you may be running into troubles, as Windows does not handle that particularly well.
Microsoft’s article on that: http://msdn.microsof … 365247(v=vs.85).aspx
So i was thinking, how hard can that be? Let’s start powershell and write down a couple of lines …..
$maxpath=260 function testmaxpath($source) { $found_yet=0 $items = get-childitem $source -recurse foreach ($item in $items) { $the_full_name = $item.fullname $the_length = [string]$item.fullname.length if ([int]$the_length -ge $maxpath) { write-host "$the_length $the_full_name" -foregroundcolor red $found_yet++ } } echo "-----------------------------------" echo " found $found_yet files/directories" echo "-----------------------------------" }
then just run it against a disk or share, e.g.
testmaxpath e:\data or testmaxpath \\192.168.1.5\share_x
That’ll give you a nice overview.
off topic:
if you really want to bug your system administrator, he’ll like this:
mkdir \\server\share\%username%\aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccddddddddddddddeeeeeeeeeeeeeffffffffffffffffgggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjjjjkkkkkkkkkkkkkkkklllllllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnn subst h: \\server\share\%username%\aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccddddddddddddddeeeeeeeeeeeeeffffffffffffffffgggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjjjjkkkkkkkkkkkkkkkklllllllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnn mkdir h:\aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccddddddddddddddeeeeeeeeeeeeeffffffffffffffffgggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjjjjkkkkkkkkkkkkkkkklllllllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnn subst i: h:\aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccddddddddddddddeeeeeeeeeeeeeffffffffffffffffgggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjjjjkkkkkkkkkkkkkkkklllllllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnn mkdir i:\aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccddddddddddddddeeeeeeeeeeeeeffffffffffffffffgggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjjjjkkkkkkkkkkkkkkkklllllllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnn subst j: i:\aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccccccddddddddddddddeeeeeeeeeeeeeffffffffffffffffgggggggggggggggghhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiijjjjjjjjjjjjjjkkkkkkkkkkkkkkkklllllllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnn
… and copy some files and set some weird acl’s on them.
Guess what will happen when he wants to delete those directories?
Oh boy, those were the days :)
Another great feature of SCCM is deploying operating systems.
Although you can deploy a whole range of Windows versions, i’m going to focus on deploying Windows 7 with SP1 included.
In order to support Windows 7 (with SP1), you’ll going to have to download and install an extra update from microsoft here kb2489044.
Also, there is an extra issue to deal with.
With the update above installed, it would be possible to support and deploy Windows 7 to known systems, meaning systems that are allready member of the domain and registered with sccm.
Since we’re talking about deploying Windows 7, it is very well possible that a brand new system has been unboxed and you want to deploy it right away. So we’re dealing with unkown systems here.
To support unkown systems, we need to have at least update R2 installed for SCCM 2007 SP2. But update R3 is out so we’re going to install R3.
Before installing R3, there’s a prerequisite here: kb977384.
Then download and install: Update R3 for SCCM 2007 SP2.
Build a reference system
The most easy way to deploy an image is to build a reference system first. This means a plain Windows 7 installation with only the essential software installed that you want to have on every pc. A virtual workstation, like one in VMWare, will do just fine.
As you’ll see, after every reboot, Windows will automatically reboot into Audit Mode again.
Create capture media
Capturing the installation of the reference system is done through capture media.
This is basically a Windows PE cd/dvd or usb stick that copies the content of the harddisk to a .wim file on an external disk or network share.
When you think about that, it’s easy to understand that the PE environment needs to have access to the local harddisk and network interface.
And that’s why you have to make sure these drivers are available and that’s why we have copied al the drivers to “\\sccm01\clientdrivers\x86\vmware client\” in the last step above.
Now we have to update the capture media with those drivers.
Capture the image
Import the image in SCCM
Prepare the PXE server
Create the Configmgr package
Specify network access
If we’re going to boot from the network later on, and we need to access the distribution points, we need to authenticate.
Pretty much everything is covered now.
So if we would unbox a new computer, connect all the wires and execute a network boot, this is what we would see:
In red: The WDS (or SCCM) server is not responding.
In green: the mac address of this client.
What we need to do next is create a task somehow to deploy Windows 7 to this computer.
Create a collection
Add the computer (mac address) to the collection
Create a Task Sequence
Modify the task sequence
There is a small “bug” in the default task sequence if you ask me.
If you edit the task sequence, you’ll see that the network configuration is taking place before the device drivers are installed. This should be in reversed order.
With that out of the way there is something with the partitioning to worry about:
If you want you can add custom taks or edit. Just look around, very cool! :-)
Hint: look at the partitioning settings and when formatting the disks, make sure you select quick format. Saves a lot of time!
Assign (advertise) the task sequence to new computers
If you go to the “Deploy Win7 with SP1” collection, doubleclick on the “Win7-001” and go to the advertisements tab, you’ll see that the “Install Windows 7 with SP1 on new systems” is assigned to this computer.
That’s it. Perform a network boot and sit back!
SCCM is capable of managing Software Updates, but it relies on WSUS for that. So you need to have that installed. If you’ve followed this guide, you have.
Whereas for WSUS you need to configure group policies, for SCCM everything runs through the SCCM client so you don’t need to worry about that.
Enable the Software Updates part in SCCM
If you want to change any settings later, expand site database, site management, <your site>, site settings, component configuration and rightclick “Software Update Point Component” and click properties.
Start initial synchronization
Download the System Center Configuration Manager 2007 Toolkit V2 and use Trace32 to tail the logfile “c:\program files (x86)\Microsoft Configuration Manager\Logs\wsyncmgr.log” to watch the progress of the synchronization.
Configure the Software Updates Client
Create templates
Now before you can continue, you have to make sure that the software updates are synchronized with Microsoft. Use the Trace32 mentioned above.
Create a search folder and an update list
(with this method you can add extra updates to the list later too)
Deploy the Update list to the template
Now from time to time keep updating your list and drag it to the deployment template. Since you’ve enabled binary differential replication, clients that already have received most of the list, will only transfer the differential.
Best practice is to create a couple of deployment templates, based on the priorities, so for example you can deploy critical updates faster than other updates.
One of the main reasons (amongst others) that you are going to use SCCM is probably to distribute software to clients and servers on your network.
To enable this functionality
Add a package to the inventory
Add a program to the package
After creating the package, you can add one or more programs to the package.
Distribute the package to a distribution point
There can be more than one distribution point in a bigger organization but in this case we only have to distribute it to one point.
Assign the package to clients
The default polling interval of your clients is 60 minutes, so with a maximum of 60 minutes the installation will start.
You can set the interval higher at site settings -> client agents -> computer client agent properties. For this test environment it’s safe to set it to a really low value like 1-5 minutes, but in a bigger environment you don’t want to stress the SCCM server and your network.
If, after installing SCCM 2007 SP2, you take a look at the collections (under Computer Management), you’ll see that it’s not really up to date. Servers up to Windows 2003 and workstations up to Windows XP are available, but no Windows 2008 (r2?) or Windows 7 is present.
If you are going to delegate tasks to systems, you might want or need some more finegrained collections.
Collections are based on query’s, so in order to create a new collection for Windows 7, we’re going to do the following:
Use your imagination to create all sort of collections you might need. Like systems with 512MB ram or less, systems with de specific type of cdromdrive, anything you can imagine.
By the way: Windows 2008 R2 would be “%Server 6.1%” as value
After the previous article, the installation of SCCM 2007 SP2, it’s time to do the basic configuration.
Basic configuration, find clients on the network
Log on to the Configuration Manager Console
Remember that you always have to “update collection membership” and then “refresh” to see new computers.
Push the sccm client to clients and servers
Go back to your collection of computers, “update collection membership” and then “refresh” and after a while the table “Client” will say YES to indicate the SCCM client has been installed.
Create some reports
After the client has been pushed to all desired systems, you want to do something with the collected information.
Continuing the previous article, once you have all the prerequisites in place, you are ready for the installation of SCCM 2007 SP2.
Extend the active directory schema
First, you have to extend the Active Directory Schema. The best way to do this is to log on to on the domain controller that holds the schema master role and start an elevated dos prompt. Then run the following program from the SCCM 2007 SP2 cd (or files on a share):
"\smssetup\bin\i386\extadsch.exe"
If you encounter errors like these:
<09-11-2010 17:53:11> Modifying Active Directory Schema - with SMS extensions. <09-11-2010 17:53:11> DS Root:CN=Schema,CN=Configuration,DC=stpauls,DC=qld,DC=edu,DC=au <09-11-2010 17:53:11> Failed to create attribute cn=MS-SMS-Site-Code. Error code = 8224. <09-11-2010 17:53:11> Failed to create attribute cn=mS-SMS-Assignment-Site-Code. Error code = 8224. ... <09-11-2010 17:53:12> Failed to extend the Active Directory schema.
.. you probably have some replication issues to deal with first. Or, in my case, the domain had one or more child domains and those domain controllers were offline. Make sure they are online and reachable.
Add the computer account to the System container
Install SCCM
I’ve been talking to some people about SCCM recently and it seems to be difficult to understand the whole process to set it up right. Therefore i’m going to share my experiences.
This first part covers all the prerequisites and setting them up.
I’m going to presume an active directory is already present.
My (vmware) setup:
Features
On SCCM01, let’s add some features first. Start the server manager, go to features, add features:
Configure webdav
Now we have to configure the webdav properties for the default website in IIS. You can do it later after SCCM is fully installed but you have to do it at some point so why not do it now.
Microsoft has a document on this but here it is in short:
Roles
As SCCM needs WSUS and relies on the PXE server from WDS, we have to install some additional roles. Go to the server manager, roles and add the following role first. You have to install the WSUS role later, you can’t select it with other roles at the same time. So first:
Now add the following role:
Configure WDS
If you are not going to run DHCP on this server, skip this next 3 steps. But if you are going to install the DHCP role on this server then do the following prior to installing the DHCP role:
Optionally: Install and configure the DHCP role on this server
This is optional. You can run DHCP on any other server too.
But if you are installing DHCP on this server (i’m sure the basic configuration doesn’t need additional explaining here), all you have to do is go to the WDS settings (above) and on the DHCP tab select the “Configure DHCP option 60 …”. Then restart the DHCP service.
Configure DHCP that runs on a different server
If you are running DHCP on a different server in your network, configure options 66 with the ip-address of the WDS server and option 67 with “boot\x86\wdsnbp.com”. “wdsnbp.com” is a little utility that automatically determines the platform so it will automatically switch to x86 or x64 if neccessary.
At this point, all the Windows “internal” software related prerequisites on the SCCM01 server are in place.
Associate a subnet with a site
To define a boundary for SCCM later, it is important to have a subnet defined and match it with a site in active directory.
So if you have not defined a subnet yet (if you have done a plain active directory installation, you won’t), then log on to the domain controller and do the following:
Install SQL server for SCCM
To start with: i’m far from an expert on SQL. Beste practices may be different. But to get things up and running, the following will work.
SCCM won’t work on Express editions of SQL, so make sure you have a full version (get trial version here). I’ve read rumours that SCCM 2007 SP2 doesn’t work on SQL 2008 R2 but it does!
Maybe a bit late ….
Windows 7 offers a very handy feature called the Audit Mode. I’ve blogged about that before. This enables you to prepare the computer for the end-user, therefore it skips the whole OOBE (Out Of Box Experience) and the creation of local user accounts.
Windows XP does not have that feature so on the end of a fresh installation of Windows XP you’ll be prompted to create a user account and Windows will then automatically log in with that account. Microsoft doesn’t allow you to skip this, so you will always have to create a second local account (besides the Administrator account).
I recently found out a way to bypass this. Ok, resetting the machine does the trick also. But a more friendly way is to type SYSTEM in the first field.
If you want to rsync data from/to a remote server with ssh, you could do something like this:
rsync -av [email protected]:/backup/* /storage/monday/
But what if ssh listens on port 2222?
rsync -av --rsh='ssh -p2222' [email protected]:/backup/* /storage/monday/
But what if you need sudo permissions?
Server-side configuration (/etc/sudoers)
#sudo access for myusername running rsync backup myusername ALL=NOPASSWD:/usr/bin/rsync
Client-side:
rsync -av --rsh='ssh -p2222' --rsync-path="sudo rsync" [email protected]:/backup/* /storage/monday/ .
And in case you want to include multiple directories:
rsync -av --rsh='ssh -p2222' --rsync-path="sudo rsync" [email protected]:{/backup,/root,/etc} /storage/monday/
(for mr Face ;-) )
Whereas point and print restrictions was a user policy for clients < Win7, as of Win7 it is a computer policy.
So to prevent installations prompts for printers:
Here’s an example:
On Error Resume Next ' ################################################# 'Select the number of characters on the left that need to be checked ' Note the following situations: ' 10.150.9. <-- check on charleft=9 including trailing "."! ' 10.150.10 ' 10.150.11 ' or ' 10.150.99. <-- check on charleft=10 including trailing "."! ' 10.150.100 ' 10.150.101 Const charleft = 10 ' ################################################# Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & ".\root\default:StdRegProv") Set WSHShell = CreateObject("Wscript.Shell") Set WSHNetwork = CreateObject("WScript.Network") strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys For Each subkey In arrSubKeys DHCPAddress = WSHShell.RegRead("HKLM" & strKeyPath & subkey & "\DhcpIPAddress") 'Skip disconnected adapters and apipa addresses (failed dhcp) If DHCPAddress <> "0.0.0.0" And Left(DHCPAddress,3) <> "169" Then 'wscript.echo "Interface " + subkey + " = " + DHCPAddress TestOctet1 = left(DHCPAddress, int(charleft)) Select Case TestOctet1 case "10.150.123" 'location A with 1 ip range WScript.Echo "this is location A" 'actions for location A WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_A" WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_A" case "10.150.99.","10.150.101" 'location B with 2 ranges, note the first range with trailing "." because it's shorter WScript.Echo "this is location B" 'actions for location A WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_B" WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_B" case "192.168.2","10.150.102","10.234.234" 'location C with 3 ranges WScript.Echo "this is location C" 'actions for location A WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_C" WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_C" case "10.22.164","10.22.165" 'location D with 2 ranges WScript.Echo "this is location D" 'actions for location A WSHNetwork.AddWindowsPrinterConnection "\\printserver\main_printer_location_D" WSHNetwork.MapNetworkDrive "L:", "\\NT2000\data_location_D" End Select End If Next
To completely disable ipv6 and the Teredo interface:
reg add "HKLM\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d "255" /f
“255” decimal stands for 0×000000ff hexadecimal.
However, this isn’t listed here: http://support.microsoft.com/kb/929852/. Nonetheless this setting suits my needs best.
After installing the vmware tools on a Windows 2008 (R2) server, the mouse (still) performs very slow.
The solution is to update the video card driver.
Even after vmware tools installation, the vga card is listed as “Standard VGA Graphics Adapter”
Normally all drivers can be found at:
C:\Program Files\VMWare\VMWare Tools\Drivers\
However, the vga driver is located at:
C:\Program Files\Common Files\VMWare\Drivers\
Take the “wddm_video” folder.
A reboot is required. After that, you’ll be surprised :)
Increasing the virtual video RAM is supposed to increase performance even more.