Diary of technical happenstance, simple Internet accessible scratchpad, and brain dump to save myself later
Pages
▼
Friday, October 20, 2006
Aastra / Altigen 390 phone services
If you accidentally delete services from your 390 phones you can flash / reinstall / update the phone from the following number: (469) 365-3203 and passcode 40000.
Tuesday, September 12, 2006
Repartee LX serial integration
1. To see live PMS and SMDI data along the lines of the DOS systems' ALT-8 command, set the startup line to ^# T12. Open a terminal and navigate to the /opt/vmail directory. Type tail -f REPLOG12.9 where 12.9 is the current day and month. You should see live replog parsed data on all serial ports.
Thursday, September 07, 2006
AD last login time
Nice script to find a user's last logon time from AD. It even converts the time result to human readable format.
' This VBScript code prints the last logon timestamp for a user.
' ---------------------------------------------------------------
' From the book "Active Directory Cookbook" by Robbie Allen
' Publisher: O'Reilly and Associates
' ISBN: 0-596-00466-4
' Book web site: http://rallenhome.com/books/adcookbook/code.html
' ---------------------------------------------------------------
' ------ SCRIPT CONFIGURATION ------
'strUserDN = "" ' e.g. cn=rallen,ou=Sales,dc=rallencorp,dc=com
strUserDN = "cn=Web Maxtor,ou=MyOffice,ou=MyOrganization,dc=MyDomain,dc=com"
' ------ END CONFIGURATION ---------
set objUser = GetObject("LDAP://" & strUserDN)
set objLogon = objUser.Get("lastLogonTimestamp")
intLogonTime = objLogon.HighPart * (2^32) + objLogon.LowPart
intLogonTime = intLogonTime / (60 * 10000000)
intLogonTime = intLogonTime / 1440
WScript.Echo "Approx last logon timestamp: " & intLogonTime + #1/1/1601#
' This VBScript code prints the last logon timestamp for a user.
' ---------------------------------------------------------------
' From the book "Active Directory Cookbook" by Robbie Allen
' Publisher: O'Reilly and Associates
' ISBN: 0-596-00466-4
' Book web site: http://rallenhome.com/books/adcookbook/code.html
' ---------------------------------------------------------------
' ------ SCRIPT CONFIGURATION ------
'strUserDN = "
strUserDN = "cn=Web Maxtor,ou=MyOffice,ou=MyOrganization,dc=MyDomain,dc=com"
' ------ END CONFIGURATION ---------
set objUser = GetObject("LDAP://" & strUserDN)
set objLogon = objUser.Get("lastLogonTimestamp")
intLogonTime = objLogon.HighPart * (2^32) + objLogon.LowPart
intLogonTime = intLogonTime / (60 * 10000000)
intLogonTime = intLogonTime / 1440
WScript.Echo "Approx last logon timestamp: " & intLogonTime + #1/1/1601#
Monday, September 04, 2006
PIX 501 install the easy way
Having found an old NFR PIX 501 from a previous employer in my basement, I decided the WPA-PSK encrypted WLAN I had based out of my home office just wasn't secure enough to hide my daughter's Barbie video games and my surfing history from the rest of the world. Of course I could spend $50.00 on a Linksys jobby running WPA2-AES, but that costs $50.00. I was going to make my measely little Netgear WGR614 responsible for my new DMZ, serving my work laptop on my couch. Everything else would sit behind the PIX, behind the Netgear.
Cisco was kind enough to include a browser based GUI in their PIX 501 firewalls, and you can typically reach it at https://192.168.1.1. I figured it would be helpful for a quick config, given my few demands. Wrong. Stay away.
Here's the network:
Cable based ISP DHCPing me one address ---> Netgear WGR614 at 10.10.10.1 broadcasting "SuperCrapNet" on b/g channel 1 ---> PIX501 at 10.10.10.2 (outside) and 192.168.1.1 (inside) ---> Me.
Here's my major changes via console, coutesy of Cisco.com with my site specific additions and changes:
!--- Enable error and more severe syslog messages
!--- to be saved to the local buffer.
logging buffered errors
!--- Send syslog messages to a syslog server
!--- on the inside interface if you want.
logging host inside 192.168.1.220
!--- define the interface addresses
ip address outside 10.10.10.2 255.255.255.0
ip address inside 192.168.1.1 255.255.255.0
!--- Using Pix version 5.2 or higher allows for a single
!--- outside IP address to be used the PIX and for PAT
global (outside) 1 interface
!--- If USING OLDER SOFTWARE:
!--- Define a Network Address Translation (NAT) pool that
!--- internal hosts use when going out to the Internet.
global (outside) 1 10.10.10.3-10.10.10.9
!--- Define a Port Address Translation (PAT) address that
!--- is used once the NAT pool is exhausted.
global (outside) 1 10.10.10.10
!--- END IF
!--- Allow all internal hosts to use
!--- the NAT or PAT addresses specified above.
nat (inside) 1 0.0.0.0 0.0.0.0 0 0
!--- Apply access list 100 to the outside interface.
access-group 100 in interface outside
!--- Define a default route to the ISP's router,
!--- or in my case, the next router in line
route outside 0.0.0.0 0.0.0.0 10.10.10.1 1
!--- Allow the hosts on the 192.168.1.0 network
!--- to be able to Telnet to the inside of the PIX.
telnet 192.168.1.0 255.255.255.0 inside
!--- Setup DHCP DNS entry since outside interface is static
dhcpd dns 10.10.10.1
!--- Write configuration to the terminal for review
write term
!--- write to memory
write mem
Cisco was kind enough to include a browser based GUI in their PIX 501 firewalls, and you can typically reach it at https://192.168.1.1. I figured it would be helpful for a quick config, given my few demands. Wrong. Stay away.
Here's the network:
Cable based ISP DHCPing me one address ---> Netgear WGR614 at 10.10.10.1 broadcasting "SuperCrapNet" on b/g channel 1 ---> PIX501 at 10.10.10.2 (outside) and 192.168.1.1 (inside) ---> Me.
Here's my major changes via console, coutesy of Cisco.com with my site specific additions and changes:
!--- Enable error and more severe syslog messages
!--- to be saved to the local buffer.
logging buffered errors
!--- Send syslog messages to a syslog server
!--- on the inside interface if you want.
logging host inside 192.168.1.220
!--- define the interface addresses
ip address outside 10.10.10.2 255.255.255.0
ip address inside 192.168.1.1 255.255.255.0
!--- Using Pix version 5.2 or higher allows for a single
!--- outside IP address to be used the PIX and for PAT
global (outside) 1 interface
!--- If USING OLDER SOFTWARE:
!--- Define a Network Address Translation (NAT) pool that
!--- internal hosts use when going out to the Internet.
global (outside) 1 10.10.10.3-10.10.10.9
!--- Define a Port Address Translation (PAT) address that
!--- is used once the NAT pool is exhausted.
global (outside) 1 10.10.10.10
!--- END IF
!--- Allow all internal hosts to use
!--- the NAT or PAT addresses specified above.
nat (inside) 1 0.0.0.0 0.0.0.0 0 0
!--- Apply access list 100 to the outside interface.
access-group 100 in interface outside
!--- Define a default route to the ISP's router,
!--- or in my case, the next router in line
route outside 0.0.0.0 0.0.0.0 10.10.10.1 1
!--- Allow the hosts on the 192.168.1.0 network
!--- to be able to Telnet to the inside of the PIX.
telnet 192.168.1.0 255.255.255.0 inside
!--- Setup DHCP DNS entry since outside interface is static
dhcpd dns 10.10.10.1
!--- Write configuration to the terminal for review
write term
!--- write to memory
write mem
Friday, August 04, 2006
Veritas BackUp Exec Cancel Pending
I have often attempted to cancel backups at various stages and found them to hang in the "cancel pending" state forever. A server reboot tends to put things in order, but is a fairly inconvenient solution. Stopping the services from the Windows Administrative Tools | Services snap-in tends to hang the services in the stopping state as well.
The easy but usually overlooked method is choosing Tools | BackUp Exec Services from within the Backup Exec console. You can stop and restart them all fairly effectively from there.
Stopping may take several minutes, but is ultimately successful.
The easy but usually overlooked method is choosing Tools | BackUp Exec Services from within the Backup Exec console. You can stop and restart them all fairly effectively from there.
Stopping may take several minutes, but is ultimately successful.
Tuesday, June 13, 2006
WatchGuard Firebox V60L
The default IP address of interface 0 is 10.0.0.1/24.
The default username / password is admin / admin.
The console port uses a Cisco cable at 9600,8,N,1 and no flow control, and if you are Cisco IOS literate, basic interface configuration is relatively intuitive.
The default username / password is admin / admin.
The console port uses a Cisco cable at 9600,8,N,1 and no flow control, and if you are Cisco IOS literate, basic interface configuration is relatively intuitive.
Saturday, April 15, 2006
Broadcast Fax from a desktop PC
Requirements:
Microsoft XP
Microsoft Outlook 2000 / XP /2003
a modem
Step 1:
Install the XP fax service. Go to Start | Control Panel | Add / Remove Programs | Add / Remove Windows Components | Fax.
Step 2:
Add the Fax Transport service in Outlook. In Outlook, go to Tools | E-Mail Accounts | Add a new email account | Additional Server Types | Fax Mail Transport.
Step 3:
Try it. Add two new contacts in Outlook with business fax numbers. Create a distribution group and add the two contacts Notice you will be given the option to add the contact with an email address, and the same contact with a fax number. In this case, add the contact with the fax number. Address a new email message to the group with a blank subject and body, but attach a Word document. Choose to send.
You will find the Fax Console (after it's configured) dial and deliver the Word document as a fax to both recipients.
Nice.
Microsoft XP
Microsoft Outlook 2000 / XP /2003
a modem
Step 1:
Install the XP fax service. Go to Start | Control Panel | Add / Remove Programs | Add / Remove Windows Components | Fax.
Step 2:
Add the Fax Transport service in Outlook. In Outlook, go to Tools | E-Mail Accounts | Add a new email account | Additional Server Types | Fax Mail Transport.
Step 3:
Try it. Add two new contacts in Outlook with business fax numbers. Create a distribution group and add the two contacts Notice you will be given the option to add the contact with an email address, and the same contact with a fax number. In this case, add the contact with the fax number. Address a new email message to the group with a blank subject and body, but attach a Word document. Choose to send.
You will find the Fax Console (after it's configured) dial and deliver the Word document as a fax to both recipients.
Nice.
Friday, March 31, 2006
Deny delete file permission problem
Removing the DELETE permission from the USERS group on a file / folder prevents deletions, moves, and renaming critical file data. That's what everyone asks for.
Unfortunately, it also prevents the deletion of TEMP files generated by editing Word, Excel, etc. documents with those folder permissions. If you are accustomed to right clicking those folders and creating new files and sub folders, you will also be prevented from renaming them.
Add the CREATOR OWNER user and allow modifications there.
The TEMP files are a by product of the CREATOR, despite the file being edited by someone else. They will now be deleted appropriately. The creator will be able to add and name files or folders any way they choose. All other users will be prevented from deleting, renaming, and moving that data.
The caveat is the creators CAN delete them.
Unfortunately, it also prevents the deletion of TEMP files generated by editing Word, Excel, etc. documents with those folder permissions. If you are accustomed to right clicking those folders and creating new files and sub folders, you will also be prevented from renaming them.
Add the CREATOR OWNER user and allow modifications there.
The TEMP files are a by product of the CREATOR, despite the file being edited by someone else. They will now be deleted appropriately. The creator will be able to add and name files or folders any way they choose. All other users will be prevented from deleting, renaming, and moving that data.
The caveat is the creators CAN delete them.
Sunday, March 12, 2006
DCOM error, event ID 10021
Where do the 10 or so errors in the System event log without much infor come from? A9E69610-B80D-11D0-B9B9-00A0C922E750 is the application ID for the IIS Admin service, and you probably find an event referencing the fact that you disabled it for securtiy reasons later in the log.
Go to Administrative Tools | Component Services | Computers | My Computers | DCOM config. Right click IIS Admin Service to access properties and set the securitie values to default. Errors go away.
If you find message boxes poping before being able to access this form, I am guessing at this point it is the result of some sort of registry cleanup tool. I am currently concerned about people betting the farm on CCleaner.
Go to Administrative Tools | Component Services | Computers | My Computers | DCOM config. Right click IIS Admin Service to access properties and set the securitie values to default. Errors go away.
If you find message boxes poping before being able to access this form, I am guessing at this point it is the result of some sort of registry cleanup tool. I am currently concerned about people betting the farm on CCleaner.
Sprint AirCard 580
When installing a Sprint AirCard 580 in a laptop with BlueTooth enabled devices, you may run into "No Device" errors in the Sprint application.
It seems the Sprint AirCard likes to use com port 7 (COM7). Your Toshiba based implementation of BlueTooth appear to use as many as 12 com ports above 3. This means it likes to assume control of 7, what your AirCard is trying to use.
I found disabling the BlueTooth COM7 in device manager allows the AirCard to be recognized and function, and doesn't kill the BlueTooth mouse my executive marketing guy likes.
It seems the Sprint AirCard likes to use com port 7 (COM7). Your Toshiba based implementation of BlueTooth appear to use as many as 12 com ports above 3. This means it likes to assume control of 7, what your AirCard is trying to use.
I found disabling the BlueTooth COM7 in device manager allows the AirCard to be recognized and function, and doesn't kill the BlueTooth mouse my executive marketing guy likes.
Saturday, February 04, 2006
EliveCD Elightenment Debian resolution problem
There are plenty of posts around the web indicating you can resolve resolution problems in Debian by editing the etc/X11/XF86Config-4 file. I'm betting someone telling you what file to edit really doesn't help much. You wouldn't be reading this otherwise.
When running the EliveCD installed to hard disk, the Elightenment enviroment looked fabulous, but all the applications ran at very low resolutions. The problem occurs in both E16 and E17, and from liveCD and HD installs. After enableing randr (left click upper left corner | modules | Randr | enabled), I found the highest available resolution on the configuration menu was 640X480. During a reboot in verbose mode (F2 during cool Elive splash screens) I found XFree86 server using 640X480. So how do you change it?
Here's a real example that actually works:
snippet of the original etc/X11/XF86Config-4 file:
Section "Screen"
snippet of file with modifications:
Section "Screen"
I prevously tried modifying startup variables in GRUB like vga=788 instead of 791, depth=16 instead of 24, using the eliveCD graphics problems startup, etc. but none seem to make a difference.
Incidentally, I am running it on a PII 350mhz with 192MB RAM and the video card is a cheapo on-board AGP SIS6326 job. If I wasn't tied to MS by my office and my daughters' school, I would happily convert to this platform.
Hope this helps.
When running the EliveCD installed to hard disk, the Elightenment enviroment looked fabulous, but all the applications ran at very low resolutions. The problem occurs in both E16 and E17, and from liveCD and HD installs. After enableing randr (left click upper left corner | modules | Randr | enabled), I found the highest available resolution on the configuration menu was 640X480. During a reboot in verbose mode (F2 during cool Elive splash screens) I found XFree86 server using 640X480. So how do you change it?
Here's a real example that actually works:
snippet of the original etc/X11/XF86Config-4 file:
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"Depth 1EndSubSection
Modes "640x480"
snippet of file with modifications:
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"Depth 24EndSubSection
Modes "1280x1024" "1024x768" "800x600" "640x480"
SubSection "Display"Depth 1
Modes "640x480"
EndSubSection
I prevously tried modifying startup variables in GRUB like vga=788 instead of 791, depth=16 instead of 24, using the eliveCD graphics problems startup, etc. but none seem to make a difference.
Incidentally, I am running it on a PII 350mhz with 192MB RAM and the video card is a cheapo on-board AGP SIS6326 job. If I wasn't tied to MS by my office and my daughters' school, I would happily convert to this platform.
Hope this helps.
Wednesday, January 25, 2006
NEC 2400 IPX PMS integration
To move the PMS output from a serial port to the LAN see ASYDL.
ASYDL, SYS 1, INDEX 897, bit 0 = 1
ASYDL, SYS 1, INDEX 897, bit 4 = 0
Bit 4 is used for ACK/NAK control and is invalid when integrating with a Flagler / LMS system. Your results may vary.
Ethereal running on a hub card port is very revealing when troubleshooting conversation for the first time. L records and responses can be viewed in clear text.
ASYDL, SYS 1, INDEX 897, bit 0 = 1
ASYDL, SYS 1, INDEX 897, bit 4 = 0
Bit 4 is used for ACK/NAK control and is invalid when integrating with a Flagler / LMS system. Your results may vary.
Ethereal running on a hub card port is very revealing when troubleshooting conversation for the first time. L records and responses can be viewed in clear text.
Monday, January 23, 2006
Adaptec 2400 RAID drive zap
Before you can introduce a used drive into a RAID array, you need to remove the meta data regarding the previous array from that drive. The scenario is you have an old server with old drives in a RAID5 array, one fails, and you can only acquire refurbished exact replacement drives.
When using an Adaptech 2400 (maybe other) SCSI / RAID controller, you can do this at the BIOS / SMOR level.
Highlight the new refurbished drive, and press ALT-F10-Z. You will mysteriously now have a "Zap drive" option available on the Action menu. Choose to zap it and it can now be used to rebuild the existing degraded array.
When using an Adaptech 2400 (maybe other) SCSI / RAID controller, you can do this at the BIOS / SMOR level.
Highlight the new refurbished drive, and press ALT-F10-Z. You will mysteriously now have a "Zap drive" option available on the Action menu. Choose to zap it and it can now be used to rebuild the existing degraded array.
Saturday, January 07, 2006
Excel VBA, SQL Stored Procedures and Michelob Light
There is no difference between how Excel VBA passes parameters to stored procedures and any other VB based app.
Michelob Light on Saturday night will make me forget to leave a SPACE after the procedure name before the close quote though.
SQL="SP_MyStoredProc " & data1 & "," & data2 & ";" will work.
SQL="SP_MyStoredProc" & data1 & "," & data2 & ";" will not.
For future reference, stolen from Patrick Molloy, Microsoft Excel MVP, here's some basic Excel and SQL stuff to drink to:
Option Explicit
Property Get MyDatabase() As String
MyDatabase = ControlsA1
End Property
Property Get MyServer() As String
MyServer = ControlsA2
End Property
Sub LoadFromSQL()
Dim RST As ADODB.Recordset
Dim db As Connection
Dim SQL As String
Dim i As Long
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;driver={SQL Server};server=" & MyServer & ";uid=;pwd=;database=" & MyDatabase & ";"
Set RST = New Recordset
SQL = "SELECT DISTINCT [Instrument] FROM PL"
RST.Open SQL, db, adOpenStatic, adLockOptimistic
' prepare active sheet
Cells.ClearContents
With RST
For i = 0 To .Fields.Count - 1
Cells(1, i + 1).Value = .Fields(i).Name
Next
End With
Range("A2").CopyFromRecordset RST
RST.Close
db.Close
Set RST = Nothing
Set db = Nothing
End Sub
Michelob Light on Saturday night will make me forget to leave a SPACE after the procedure name before the close quote though.
SQL="SP_MyStoredProc " & data1 & "," & data2 & ";" will work.
SQL="SP_MyStoredProc" & data1 & "," & data2 & ";" will not.
For future reference, stolen from Patrick Molloy, Microsoft Excel MVP, here's some basic Excel and SQL stuff to drink to:
Option Explicit
Property Get MyDatabase() As String
MyDatabase = ControlsA1
End Property
Property Get MyServer() As String
MyServer = ControlsA2
End Property
Sub LoadFromSQL()
Dim RST As ADODB.Recordset
Dim db As Connection
Dim SQL As String
Dim i As Long
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;driver={SQL Server};server=" & MyServer & ";uid=;pwd=;database=" & MyDatabase & ";"
Set RST = New Recordset
SQL = "SELECT DISTINCT [Instrument] FROM PL"
RST.Open SQL, db, adOpenStatic, adLockOptimistic
' prepare active sheet
Cells.ClearContents
With RST
For i = 0 To .Fields.Count - 1
Cells(1, i + 1).Value = .Fields(i).Name
Next
End With
Range("A2").CopyFromRecordset RST
RST.Close
db.Close
Set RST = Nothing
Set db = Nothing
End Sub
Thursday, January 05, 2006
ADIX IX-12IPKTD and IP-SUB notes
For those of you with access to it, the best document I could find is at the Iwatsu dealer site Engineering Bulletins 2003 PN 108234.
The quickly forgoten notes are below:
IX-8IPSUB default address: 192.168.0.1
IX-8IPSUB default user / pw: manage / 4192
IX-12IPKTD default address: 192.168.0.5
IX-12IPKTD default user / pw: manage / 4192
IX-12IPKTD LCD access: MENU for 5 seconds down to DISTRIBUTOR DATA
IX-8IPSUB / IX-12IPKTD default ports usage:
The quickly forgoten notes are below:
IX-8IPSUB default address: 192.168.0.1
IX-8IPSUB default user / pw: manage / 4192
IX-12IPKTD default address: 192.168.0.5
IX-12IPKTD default user / pw: manage / 4192
IX-12IPKTD LCD access: MENU for 5 seconds down to DISTRIBUTOR DATA
IX-8IPSUB / IX-12IPKTD default ports usage:
UDP | |||
TCP | RTP | RTCP | |
1 | 50000 | 5004 | 5005 |
2 | 50000 | 5006 | 5007 |
3 | 50000 | 5008 | 5009 |
4 | 50000 | 5010 | 5011 |
5 | 50000 | 5012 | 5013 |
6 | 50000 | 5014 | 5015 |
7 | 50000 | 5016 | 5017 |
8 | 50000 | 5018 | 5019 |
Wednesday, January 04, 2006
DTMF tone frequencies
For those of you wondering, here are the frequency combinations. For those of you who have no idea what this means, it probably will never help you. Feel free to move along.
1 | 2 | 3 | A | 697Hz |
4 | 5 | 6 | B | 770Hz |
7 | 8 | 9 | C | 852Hz |
* | 0 | # | D | 941Hz |
1209Hz | 1336Hz | 1477Hz | 1633Hz |