I have moved my blog to http://www.nullfactory.net. The transition is pretty much done and all new posts will be published to the new location.
Enjoy!
Credentials > Enable alternate credentials
and providing new credential information. More instructions available here.Get-Credentials
cmdlet. This provides the standard windows credentials dialog for the user to enter information. Since this makes the script interactive, I debated about having the username and password as a parameter for the script, but in the end decided against it. Maybe the next improvement would be to include a silent version of the script.Invoke-RestMethod
cmdlet will be used to make the actual call to the REST service. So what's the difference between Invoke-WebRequest
and Invoke-RestMethod
you may ask? While similar, the Invoke-RestMethod
attempts to parse the returned JSON so that we do not have to do it manually within our script. Think of it as a super set of Invoke-WebRequest
just like Invoke-WebRequest
is a superset of System.Net.WebClient
. Read more about it here and here.Get-Credentials
cmdlet would return a System.Management.Automation.PSCredential
object as expected, but when passed into into the Invoke-RestMethod
cmdlet, it was not generating the the basic authentication header token within the request. I still haven't figured out why this happens, but the workaround was to add the authentication header explicitly as shown here. $basicAuth = ("{0}:{1}" -f $username,$password)
$basicAuth = [System.Text.Encoding]::UTF8.GetBytes($basicAuth)
$basicAuth = [System.Convert]::ToBase64String($basicAuth)
$headers = @{Authorization=("Basic {0}" -f $basicAuth)}
https://{account}.visualstudio.com/defaultcollection/_apis/tfvc/changesets?api-version=1.0&searchCriteria.fromId=100&searchCriteria.toId=200&searchCriteria.itemPath=$/{project}
It took me a while to figure it out but you should notice this call is only allowed to be made against the entire Team Project Collection. So in order to filter out the project, provide the project path via the searchCriteria.itemPath
filter. That is searchCriteria.itemPath=$/{projectname}
where {projectname}
is the one that you are interested in.https://{account}.visualstudio.com/defaultcollection/_apis/tfvc/changesets/{changesetId}/changes?api-version=1.0
path
property of the json result set. This is the path and name of the file./system/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl /system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl /system/usr/keylayout/DEVICE_NAME.kl /data/system/devices/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl /data/system/devices/keylayout/Vendor_XXXX_Product_XXXX.kl /data/system/devices/keylayout/DEVICE_NAME.kl /system/usr/keylayout/Generic.kl/data/system/devices/keylayout/Generic.kl
key 62 HOME key 63 ENVELOPE key 64 MUSIC key 65 MEDIA_REWIND key 66 MEDIA_PLAY_PAUSE key 67 MEDIA_FAST_FORWARD key 68 VOLUME_MUTE key 87 VOLUME_DOWN key 88 VOLUME_UP
I: Bus=0003 Vendor=0c45 Product=7403 Version=0100 N: Name="SONiX USB Device" P: Phys=usb-usb20_host-1.1.1/input0 S: Sysfs=/devices/platform/usb20_host/usb2/2-1/2-1.1/2-1.1.1/2-1.1.1:1.0/input/input9 U: Uniq= H: Handlers=sysrq kbd event1 keychord I: Bus=0003 Vendor=0c45 Product=7403 Version=0100 N: Name="SONiX USB Device" P: Phys=usb-usb20_host-1.1.1/input1 S: Sysfs=/devices/platform/usb20_host/usb2/2-1/2-1.1/2-1.1.1/2-1.1.1:1.1/input/input10 U: Uniq= H: Handlers=kbd event2 keychord B: PROP=0Identify your device from the list and rename your previously created file to include the vendor and product Ids. Mine is now called Vendor_0c45_Product_7403.kl.
I am pleased to announce the latest iteration of Bookmark Organizer. It now comes with the ability to synchronize your bookmarks with SkyDrive. Please read the original post for application pre-requisites and installation.
The usual disclaimer applies; I am not responsible for anything you might break by using this application. Please use at your own risk.
Please feel free to suggest any improvements and I will try to accommodate you as best as I can.
Today I learned that the xsd.exe tool ignores all xsd:import statements. And the workaround is to explicitly provide all the schemas as command line arguments.
xsd.exe MainSchema.xsd Reference1.xsd Reference2.xsd
According to the post here, the fact that the W3C Schema spec describes the schemaLocation attribute as a hint, not a true location might be a plausible reason to this behavior.
div.ms-crm-TopBarContainerGlobal { /* background-repeat: no-repeat; background-color: #ffffff; */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ff00', endColorstr='#0100ff',GradientType=1 ); /* IE6-9 */ } div.ms-crm-TopBarContainerForm { /* background-repeat : repeat-x; */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ff00', endColorstr='#0100ff',GradientType=1 ); /* IE6-9 */ }
div.ms-crm-ToolBar { <%--<% = this.GetStyleCss(CrmTheme.Current.Form.ToolBar) %>--%> filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ff00', endColorstr='#0100ff',GradientType=1 ); /* IE6-9 */ }