Category: Scripting

Close shared files on a Windows file server in Powershell
article #1288, updated 49 days ago

Rather good to see:

https://docs.microsoft.com/en-us/powershell/module/smbshare/close-smbopenfile

Categories:      

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

Pin to Taskbar for All Users in Windows
article #1287, updated 52 days ago

So we have a terminal server or other multi-user Windows machine, Windows 7/2008R2 or later. We want to pin one or more icons to the taskbar, for all users. We discover that this is not something extremely easy to do :-) We can, at least reasonably easily, set up the same taskbar icon set for all users, thusly:

  1. Log into the one machine, and set up the taskbar as you would like it to appear for all.
  2. Export the following registry key:
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband]
    to a file named TaskBarPins.REG. Put it in a permanent folder outside of user space, e.g. C:\AutoSettings, it will be imported automatically at every login.
  3. Create SetTaskBarPins.VBS in C:\AutoSettings, containing the following text:
Option Explicit
On Error Resume Next
Dim objShell, ProgramFiles, sRegFile
Set objShell = CreateObject("WScript.Shell")
sRegFile = """C:\AutoSettings\SetTaskBarPins.REG"""
objShell.Run "Regedit.exe /s " & sRegFile, 0, True
Set objShell = Nothing
  1. Create a shortcut to C:\AutoSettings\SetTaskBarPins.VBS in C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp.

The next time any user logs into this machine, nothing will appear to have been changed. But when they log off and then log on after that, their taskbar will be the same as the one you exported.

Categories:      

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

Run PowerShell script bypassing execution policy
article #1131, updated 549 days ago

Run it like this, from CMD:

"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass script.ps1

Categories:      

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

AutoHotKey and VBscript self-elevate to administrator
article #1104, updated 626 days ago

There is a way:

https://autohotkey.com/docs/commands/Run.htm#RunAs

http://www.kellestine.com/self-elevate-vbscript/

Categories:      

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

Script/Macro capability won't enable in VBA
article #934, updated 1190 days ago

If all of your settings are correct but you still get the popup saying that macros are disabled, your OTM file — the VBA project file — is corrupt. In the case of Outlook:

  1. Export your modules to .BAS files
  2. Exit Outlook
  3. Go here in Explorer:
    C:\Users\[user]AppData\Roaming\Microsoft\Outlook
  4. Delete the OTM file
  5. Restart Outlook
  6. Import your exported .BAS files into the new VBA project which it created for you.

Categories:      

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

Great VBScript reference
article #928, updated 1195 days ago

Seems like certain VBScript references are being ripped off of the Web; thus it was great to see this:

http://ss64.com/vb

Categories:      

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

Windows automation / keyboard and mouse macros, in Python
article #823, updated 1470 days ago

Two very interesting and related developments:

https://code.google.com/p/pywinauto/

https://code.google.com/p/swapy/

Categories:      

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

WordPerfect Files
article #737, updated 1729 days ago

It’s not very much documented, but if you have a lot of WordPerfect files, try renaming their extensions to .DOC. Word will load them, unless they are very old files from WordPerfect for DOS.

If you have a huge tree of WPD files, use a batch file like this:

For /R "X:\TOP_OF_TREE" %%G in (.) Do (
 Pushd %%G
 Echo now in %%G
 ren *.wpd *.doc
 Popd )
Echo "Done!"

Categories:      

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

An excellent resource on CMD, VBscript, PowerShell, Bash, Oracle, OS X, SQL Server, Access...
article #628, updated 1982 days ago

Try this:

http://ss64.com

Categories:      

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

Detect Computer Group Membership
article #544, updated 2226 days ago

Try this:

Dim objNetwork
Set objNetwork = CreateObject("WScript.Network")

Dim objWinntComp
Set objWinntComp = GetObject("WinNT://" & objNetwork.UserDomain & "/" & objNetwork.ComputerName & ",computer")
MsgBox "WinNT://" & objNetwork.UserDomain & "/" & objNetwork.ComputerName & ",computer"

Dim strGroupToCheck
strGroupToCheck = "GROUP_TO_DETECT"

If IsMemberOfGroup(objNetwork.UserDomain, objWinntComp, strGroupToCheck) = True Then
      MsgBox "You are a member of " & strGroupToCheck
ElseIf IsMemberOfGroup(objNetwork.UserDomain, objWinntComp, strGroupToCheck) = False Then
      MsgBox "You are NOT a member of " & strGroupToCheck
      WScript.Quit
ElseIf IsMemberOfGroup(objNetwork.UserDomain, objWinntComp, strGroupToCheck) = "Error" Then
      MsgBox "There was no group found called " & strGroupToCheck
      WScript.Quit
End If      

Function IsMemberOfGroup(strUserDomain, objComp, strGroup) 'the user is a member of a specified group
      IsMemberOfGroup = False
      Dim objGroup
      On Error Resume Next
      Set objGroup = GetObject("WinNT://" & strUserDomain & "/" & strGroup & ",group")
      If Err.Number Then
            IsMemberOfGroup = "Error"
      Else
            IsMemberOfGroup = objGroup.IsMember(objComp.ADsPath & "$")
      End If
End Function

Categories: