Monday, January 31, 2022

Exchange 2007 ( SP2 8.2.176.2) OWA - No graphics / broken images

Exchange 2007 ( SP2 8.2.176.2) OWA - No graphics / broken images

Hi,

We have Exchange 2007 (SP2 8.2.176.2) deployed on Windows 2008 server sp2. We have two CAS Servers.

On one CAS servers , we are facing strange issue. I am able to get to the OWA web site, can login and authenticate.

However, all of the graphics are broken ([X] No image).

OWA gives you the option to continue when it says there is a certificate error.  However, now when you click continue; the

OWA webpage does not display properly.  In Google Chrome and new version of IE and firefox it only shows text but no graphics.  And in OLD Internal explorer version it shows blank page.

Only Login and Logoff page has issue. After it logins , it works normally.

I also tried the below method given on different forums but no use , the owa page still not showing graphics.

Navigate to C:\Program Files\Microsoft\Exchange Server\Bin    Run the UpdateOWA.ps1 script (done by entering .\UpdateOWA.ps1)

Error Page:

Please help .


Reply:

OK .. The issue is solved by deleting and recreating the OWA directory :-)

Steps:

1.Get-OwaVirtualDirectory -Server VMCAS1

2. Remove-OwaVirtualDirectory -identity "VMCAS1\owa (default web site)"

3.Open IIS and verify the OWA directory is gone

4. New-OwaVirtualDirectory -Name "VMCAS1\owa (default web site)"

5. Try Again > Get-OwaVirtualDirectory -Server VMCAS1

Regards,


------------------------------------

netlogon error 5774

The dynamic registration of the DNS record '_kerberos._tcp.brandzstorm.local. 600 IN SRV 0 100 88 DATASERVER.brandzstorm.local.' failed on the following DNS server:  

DNS server IP address: :: 
Returned Response Code (RCODE): 0 
Returned Status Code: 0  

For computers and users to locate this domain controller, this record must be registered in DNS.  

USER ACTION  
Determine what might have caused this failure, resolve the problem, and initiate registration of the DNS records by the domain controller. To determine what might have caused this failure, run DCDiag.exe. To learn more about DCDiag.exe, see Help and Support Center. To initiate registration of the DNS records by this domain  controller, run 'nltest.exe /dsregdns' from the command prompt on the domain controller or restart Net Logon service. 
  Or, you can manually add this record to DNS, but it is not recommended.  

ADDITIONAL DATA 
Error Value: Bad DNS packet.

Reply:

Hello,

have you enabled dynamic updates as mentioned in https://support.microsoft.com/en-us/kb/316239 ?

Which OS version are you talking about? It sounds the machine runs in a domain, so is this a member server or domain controller?


Best regards

Meinolf Weber

MVP, MCP, MCTS

Microsoft MVP - Directory Services

My Blog: http://blogs.msmvps.com/MWeber

Disclaimer: This posting is provided AS IS with no warranties or guarantees and confers no rights.

Twitter:  


------------------------------------
Reply:

In addition to Meinolf recommendation

a) Check for other events which might be registering along with the outlined event id

b) Verify if there is a cName record for the hostname and delete the record if present

c) Check for the systems which are registering the above event id - example, does only one server exhibit the error or all the clients pointing to DNS registered above mentioned error ?

d) verify primary and secondary dns server IP address on the client computer - if its pointing to same IP , please do change to alternate IP address

e) Verify authenticated users permission is present on the security tab.

Would stick with Meinolf suggestion to check for dynamic updates on DNS server as first check.


------------------------------------

How to write the mdx equivalent to following sql

Hi,

I have the following sql code in the Stored procedure in Sql server which feeds data to the reports. Now we are implementing the SSAS cube to process the data. I have a Fact table which has all the measures and degenerate dimensions. We are facing issues while converting below calculation into the mdx. This calculation purely depends on the @StartDate and @EndDate parameters so it can not be done at the ETL time. It has to be performed when the client selects the Start and End date on the report.

Can any one help/ guide me  how i should convert below code into MDX? As a novice in MDX world, i am facing following issues

a. Lack of temp table like structure which help storing the temp data during processing.

b. Stored procedure are supported as the CLR or COM objects. Why sql/ mdx procedure are missing?   

 Is it possible to perform the following calculations from the cube data.

Select 
rundate ,Entity ,MasterEntity ,TransactionDate ,BuyOrSell ,Quantity2 ,Quantity1 ,Quantity3 ,Quantity4 ,Profit1
,Profit2 ,Profit3 ,transactionId ,closingtransactionId
into #TempData from [Fact_Test]
Where datediff(d,@StartDate,rundate)>=0 and datediff(d,rundate,@EndDate )>=0 order by rundate

Select Rundate,TransactionDate,BuyOrSell,Quantity2,transactionId,closingtransactionId 
into #ClosedTransactions from #TempData Where BuyOrSell = 'C'

Select 
affected.Rundate AS 'OpenTransactionDate', affected.BuyOrSell as 'OpenTransaction_BuyOrSell',
affected.Quantity3 as 'OpenTransaction_Quantity1' , affected.Quantity1 as 'OpenTransaction_Quantity2',
affected.Profit2 as 'OpenTransaction_Profit2', affected.transactionId as 'OpenTransaction_transactionId',
affected.closingtransactionId as 'ClosedTaxlot_ClosedingtransactionId'
into #AffectedOpenTransaction from #TempData affected
where affected.transactionId in (select distinct transactionId from #ClosedTransactions)
and affected.rundate between @StartDate and @PreviousDateFromEndDate and affected.BuyOrSell = 'O'

select 
CLOSED.Rundate as 'ClosingDate', CLOSED.Quantity2 as 'ClosedQuantity',
CLOSED.transactionId as 'closingtransactionId', AFFECTED.OpenTransaction_transactionId as 'OpeningtransactionId',
AFFECTED.OpenTransaction_Quantity2 as 'AffectedQuantity', AFFECTED.OpenTransaction_Profit2 as 'Affected_Profit2',
AFFECTED.OpenTransactionDate as 'AffectedTransactionDate',Convert(float,0) as 'Profit2_Adjusted'
into #TempProfit2
from #ClosedTransactions CLOSED
inner join #AffectedOpenTransaction AFFECTED 
on ( CLOSED.transactionId = AFFECTED.OpenTaxlot_transactionId and datediff(d,AFFECTED.OpenTransactionDate,CLOSED.Rundate)>0 )

update #TempProfit2
set Profit2_Adjusted = case when AffectedQuantity <>0 then(ClosedQuantity * 1.0/(AffectedQuantity*1.0)) * Affected_Profit2 else 0.0 end

select 
closingtransactionId, ClosingDate,
Sum( Case When datediff(d,AffectedTransactionDate,ClosingDate)> 0 Then Convert(float,Profit2_Adjusted) else 0.0 End ) as UnrealizedPNL_Adjusted
into #Profit2_Adjusted
from 
#TempProfit2
group by closingtransactionId,ClosingDate

select 
MasterEntity,Entity, sum(Profit1 + isnull(Profit2_Adjusted,0)) as FinalProfit1,
sum(Profit2 - isnull(Profit2_Adjusted,0)) as FinalProfit12,sum(Profit3) as Profit3,
sum(Profit1 + isnull(Profit2_Adjusted,0)) + sum(Profit2 - isnull(Profit2_Adjusted,0)) + sum(Profit3) as TotalMTMPNL
from #TempData
left outer join #Profit2_Adjusted
on (#TempData.transactionId = #Profit2_Adjusted.closingtransactionId 
and datediff(d, #Profit2_Adjusted.ClosingDate, #TempData.Rundate) = 0 and #TempData.BuyOrSell = 'C' )
group by MasterEntity,Entity
order by MasterEntity,Entity


  • Edited by ANREV107 Tuesday, August 18, 2015 11:40 AM

SQL code error

Hi,

I am working a script transformation in a data flow task which is calling a stored procedure.
I need to pass some parameter from SSIS package - as readonly variable and pass 
 it as a procedure parameter.
My table column is of type INT  and variable is int 32 in ssis
I am using the following code in the script:

int nd_id = (int)Convert.ToInt32(Variables.NewID);  OleDbCommand mcm = new OleDbCommand("sp_1");  mcm.Parameters.Add("@param_Id", System.Data.OleDb.OleDbType.Integer);  mcm.Parameters["@param_Id"].Value = nd_id ;  //-Instead of using above -- v  ariable nd_id ,  mcm.Parameters["@param_Id"].Value = [ I used this as well Convert.ToInt32(Variables.NewID);]  


Reply:
Hi JOHN-ugrai,

Variables make it possible for the Script task to exchange data with other objects in the package. We can add existing variables to the ReadOnlyVariables and ReadWriteVariables lists in the Script Task Editor to make them available to the custom script. The Script task uses the Variables property of the Dts object to read from and write to Variable objects in the package.

According to your code, it seems that the issue is caused by you use the variable NewID incorrectly in Script Task. Please use the following code that refer to the variable value:
VB: Dts.Variables("NewID").Value
C#: Dts.Variables["User::NewID"].Value

So you should change you first row code into:
int nd_id = (int)Convert.ToInt32(Dts.Variables["User::NewID"].Value);

UmerFarooqOfficial


------------------------------------
Reply:
Hi JOHN-ugrai,

Variables make it possible for the Script task to exchange data with other objects in the package. We can add existing variables to the ReadOnlyVariables and ReadWriteVariables lists in the Script Task Editor to make them available to the custom script. The Script task uses the Variables property of the Dts object to read from and write to Variable objects in the package.

According to your code, it seems that the issue is caused by you use the variable NewID incorrectly in Script Task. Please use the following code that refer to the variable value:
VB: Dts.Variables("NewID").Value
C#: Dts.Variables["User::NewID"].Value

So you should change you first row code into:
int nd_id = (int)Convert.ToInt32(Dts.Variables["User::NewID"].Value);

Regards: Umer Farooq

UmerFarooqOfficial


------------------------------------

Is my Windows 7 key valid?

I bought/downloaded a copy of Windows 7 online 4 years ago am still using it. I have also reserved my Windows 10 from the icon appearing on the bottom of the computer recently. I have installed all automatic windows updates from Microsoft.

Now I am in the process of upgrade my computer hardware. I wanted to download a copy or backup the copy of Windows7 to reinstall it to my updated computer for later use from here: http://www.microsoft.com/en-us/software-recovery

However it says the product key I entered is invalid.

Why is it invalid? I still use it and  I think it is genuine copy and I have reserved windows 10 from it?

Your assistance is appreciated.

Best Regards


Reply:

Please try to validate Windows again.

Submit a genuine Windows technical support request

Otherwise You may call microsoft and give them the key for authentication.


S.Sengupta, Windows Experience MVP


------------------------------------
Reply:

Hi,

I have a similar issue but the answer I got was the following: "Error The product key you've entered appears to be for software which was pre-installed by the device manufacturer. Please contact the device manufacturer for software recovery options." In other words my Windows copy is what they call an OEM (Original Equipment Manufacturer) and not a retail copy (a copy of Windows bought in a store on its own).

If this is also your case, I guess that the only way left is to find out an OEM copy for your computer and use it to install Windows 7.

Hope it helps.

Kind regards,

Leitxo 


------------------------------------

Exchange 2013 <> Photos <> Auditing

Hi All

We are using Exchange 2013, and have recently started to upload Staff Photos for Mailboxes.

The question I have got is how can I audit when a photo is uploaded for user accounts. Basicaly I want to trace back on who has done what?

Regards


Reply:

Hi All

We are using Exchange 2013, and have recently started to upload Staff Photos for Mailboxes.

The question I have got is how can I audit when a photo is uploaded for user accounts. Basicaly I want to trace back on who has done what?

Regards

I would look at the admin audit logs and see if it shows up there since essentiually its a powershell command.

https://technet.microsoft.com/en-us/library/Dd335144(v=EXCHG.150).aspx

You can also view when the photos are viewed/accessed in the IIS logs. 


Twitter!: Please Note: My Posts are provided "AS IS" without warranty of any kind, either expressed or implied.


------------------------------------

regarding outlook mail is no going.

Dear sir,

when i trying to send the mail it s showing that you have crossed your daily limit kidly request you to suggest me what to do.

replication success :) not a question

hi guys,

realise this isnt a question, but after many hours of tinkering, i managed to get transactional replication working on my laptop running 2012 evaluation install :D

im very happy about this :)

it did fight me a fair bit - especially with the snapshot agent not having correct access to the db path - had to run the studio app as admin - after altering folder access privs too - snapshot then ran ok 

even managed to add extra data to pub db which then replicated over to sub db :) cool

cheers

dan


danx55


Reply:

I am glad that it worked for you :-)
I remember the thread where you asked some help in this issues. Well done!

Please just make sure that you closed all the threads that you opened if you did not already (by marking the answer/s and vote for useful responses).

* Now you can create a nice post on the issue, step by step how to do it, and then we can post it on the TechNet WIKI if you want :-)


signature   Ronen Ariely
 [Personal Site]    [Blog]    [Facebook]


------------------------------------
Reply:

:-) many thanks Ronen.

yes it was a great moment indeed.

didn't expect it to work really on a single laptop 

yes I've set a few of my other threads to answered.

cheers 

Dan


danx55


------------------------------------
Reply:
Thank you for sharing with us

Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it

My Technet Wiki Article

MVP


------------------------------------

Why SSAS Tabular not MPP?

SSAS scale-out architecture using load balancer for reads and Synchronization / backup-restore from processing clone for data copy (write) into all clones make creates unnecessary challenges. 

Formula-engine being single threaded and whole s/w not being NUMA aware - again unacceptable limitations within columnar analytic database architectures.

OLAP queries generated from EXCEL for SSAS Tabular creates horrible performance issues. Even though this not Tabular issue, as Microsoft product this needs to be rectified. Making design changes to sort out these issues are not strategical solutions.  

Marco Russo's SSAS Tabular as Analytic Engine - https://www.sqlbi.com/articles/ssas-tabular-as-analytical-engine/ - is very interesting analogy. I have been working on SSAS Tabular Mode on 2014 version for a large scale implementation for one the fortune 1000 retailer. It's very difficult to justify a product when it comes to above technical limitations and getting it compared with other columnar databases in terms of scalability and agility.

I not sure, any of the above issues are handled in SQL 2016 release. When can we expect real strong strategic roadmap from Microsoft on their own OLAP products (MDM and Tabular)? 

Best Regards

Shrikant Kulkarni

BI Consultant 



Reply:

Hello friend

check on this link

https://www.mssqltips.com/sqlservertip/2821/getting-started-with-tabular-model-in-sql-server-2012--part-1/

When using SQL Server Analysis Services (SSAS) to build a cube, you may start out with one fact table, but then decide to add another fact table.  You are then faced with a decision: Do you add that fact table to your existing cube and have multiple measure groups, or do you create another cube, each with a single measure group?  An example would be if you create a cube with financial data, and then a request is made to have a cube with operational data.  Should you put the financial data and operational data together in one cube, or have two cubes, a financial cube and an operational cube?  Here is a list of the benefits and disadvantages of both approaches:

One giant cube

Benefits

  • A role based security model can be defined once for the database and has to be re-visited only when a new cube or dimension (that requires Dimension Data Access) is created
  • Requires just one SSAS project in BIDS.  The shared dimensions can be defined once and linked to associated measures groups. Code maintenance is all in one place
  • If using dashboarding tools like PerformancePoint, SharePoint etc., common shared dimensions ensure that filters for dashboards can be built once and re-used across all cubes because they share the same structure, keys and value columns
  • If you ever need to work with data from two fact tables in the same query or calculation, or if you think you might ever need to in the future, you should go with the single cube approach.  The two options for cross-cube querying, linked measure groups and the LookUpCube MDX function, should be avoided

Disadvantages

  • Having one database for all cubes means modification to one cube or dimension would require a re-deployment of all the cubes in the database irrespective of the fact nothing has changed in other cubes
  • Depending on the nature of change, sometimes all cubes in the SSAS database may have to be reprocessed after a deployment.  Structural changes to dimensions especially the shared ones will require all the cubes in the database to be reprocessed after deployment

Many small cubes

Benefits

  • Having one cube per database gives the flexibility to customize dimension attributes and hierarchies that is relevant to a specific audience.  For example, attributes that are not relevant to a target audience can be removed
  • This method has the advantage that only affected cube databases have to be deployed
  • Because there is only one cube in the database there is no dependency on shared dimensions
  • Having multiple, smaller cubes may result in faster query performance than one large cube in some cases, especially if your fact tables have very different dimensionality
  • Maintenance can be easier and less disruptive with multiple cubes: if you need to make changes to a cube while users are querying it, you might end up invalidating users' connections and dropping caches. With one cube the chances of this disruption affecting more users increases
  • It's easier to scale out with multiple cubes: if you find your server is maxing out, you can simply buy another server and distribute your cubes equally between the two.  With a single cube approach you end up having to look at (admittedly not that much) more complex scale-out scenarios like network load balancing
  • Facilitates multiple developers in the SSAS BIDS environment (this is a big deal in a team environment).  With one cube, only one developer at a time can be working on the cube.  With many small cubes, separate developers can be working on each cube
  • If you have a cube with many measures, measure groups, dimensions and hierarchies but have to use Standard Edition, you cannot use Perspectives to hide complexity from your users. In this case, creating multiple cubes might be a more user-friendly approach
  • If you have complex calculations, especially MDX Script assignments, it's too easy to write a calculation that has an effect on part of the cube you didn't want to alter. With multiple cubes, the chances of this happening are reduced

Disadvantages

  • Role based security model has to be defined for every database
  • Requires a SSAS project in BIDS for each cube.  Shared dimensions have to be created once on each project.  If sufficient care is not taken during development, it could break the conformity of dimensions.  Maintaining consistent attributes and names, hierarchy and levels, key and name columns, sort order could become a development and maintenance challenge
  • In this method, you have to replicate similar filters for different cubes


------------------------------------
Reply:
Thanks Rajan. This was first step in design.

------------------------------------

Support for Exchange Databases running within VMDKs on NFS datastores

The virtualization community are asking Microsoft to change their support position for Exchange Server running in VMDKs on NFS datastores. Support is long overdue.  

The virtualized SCSI stack, including initiators and disks inside of a VM, are unaware of the underlying storage protocol that provides data connectivity between a hypervisor and storage device. Support is long overdue and the rationale for the lack of support is not recognized by the storage industry.

The following co-authors (from 7 different vendors & 2 solution integrators) are aiming to work together for the good of our customers and the community too raise awareness of this issue in the hopes that Microsoft will reconsider the support policy.

Josh Odgers (@josh_odgers)

Senior Solutions & Performance Engineer @ Nutanix

VMware Certified Design Expert #90 & vExpert

Vaughn Stewart (@vStewed)

Chief Evangelist @ Pure Storage

vExpert

Chad Sakac (@sakacc)

SVP, Global Systems Engineering @ EMC

vExpert

Matt Liebowitz (@mattliebowitz)

Solution Architect @ EMC

VCP & vExpert & author of Virtualizing Microsoft Business Critical Applications on VMware vSphere

Michael Webster (@vcdxnz001)

Senior Solutions & Performance Engineer @ Nutanix

VMware Certified Design Expert #66 & vExpert

Andrew Mitchell (@amitchell01)

Consulting Architect @ VMware

VMware Certified Design Expert #30

Rob Waite (@rob_waite_oz)

Solution Architect @ Tintri

VCP & vExpert

Nick Howell (@that1guynick)

vTME @ Netapp

vExpert

Chris Wahl (@ChrisWahl)

Solution Architect @ AHEAD

VMware Certified Design Expert #104

Gabriel Chapman (@bacon_is_king)

Solution Architect @ Simplivity

www.gabrielchapman.com

VCP & vExpert

Mahmoud Magdy

Senior Technical Architect

vExpert, MVP and Symantec BExpert

The Details of Microsoft's Position

At present, Microsoft supports Exchange deployments on NAS, specifically only on their hypervisor and their file based protocol, SMB 3.0. The intent of our efforts is to address the gap in supporting Exchange in VMware vSphere & KVM with datastores connect via NFS 3.0.

The support policy can be found here and is summarized below...

"The storage used by the Exchange guest machine for storage of Exchange data (for example, mailbox databases and transport queues) can be virtual storage of a fixed size (for example, fixed virtual hard disks (VHDs) in a Hyper-V environment), SCSI pass-through storage, or Internet SCSI (iSCSI) storage. Pass-through storage is storage that's configured at the host level and dedicated to one guest machine. All storage used by an Exchange guest machine for storage of Exchange data must be block-level storage because Exchange 2013 doesn't support the use of network attached storage (NAS) volumes, other than in the SMB 3.0 scenario outlined later in this topic. Also, NAS storage that's presented to the guest as block-level storage via the hypervisor isn't supported."

Another statement of interest in the above link is as follows;

"Configuring iSCSI storage to use an iSCSI initiator inside an Exchange guest virtual machine is supported. However, there is reduced performance in this configuration if the network stack inside a virtual machine isn't full-featured (for example, not all virtual network stacks support jumbo frames)."

While the contributors to this post agree this is not an ideal configuration, it is not a performance issue when used with enterprise grade storage and with properly architected networking.

The support statements is odd as there is a large portion of the VMware market that is deployed over NFS. This configuration is supported and is the preferred means of data connectivity for many. A decade ago, one could run Exchange 5.5 over NAS (CIFS). This support was removed with Exchange 2000. It appears the concerns from the Exchange 5.5. The difference with a virtualized instance is the Exchange application is NOT accessing data via NAS. All VM data access is via virtualized SCSI.

This may be a valid (or legacy) support policy back in the days before virtualization became mainstream, and before the evolution of 10/40Gb Ethernet where performance may have been limited by 1GB connections (as opposed to the NFS protocol itself) or for deployments where NFS is presented directly into the Guest OS which we agree would not work.

The abstraction of virtual SCSI from the underlying infrastructure (FC, DAS, iSCSI or NFS) is shown in the below diagram courtesy of http://pubs.vmware.com

Over the years, the contributors of this community post have seen countless successful deployments of Exchange on vSphere, using both block (FC,FCoE,iSCSI) and file based storage (NFS/SMB) so why is only NFS not supported?

There are a number of blog posts related to Exchange and NFS storage, one such example is by Tony Redmond (@12Knocksinna), titled "NFS and Exchange, Not a good combination".

To Tony's credit, he goes much further than most posts we have seen, which in most cases just say "Its not supported" and give no technical justification as to why.

Tony wrote

"One small, but terribly important issue is Exchange's requirement that it should be able to abort a transaction should bad things happen. Block-level storage allows this to happen but file-level storage supports aborts on a best-effort basis. Simply put, without the ability for an application to signal the storage subsystem that a transaction should be aborted, you run the risk of introducing corruptions into the databases through bad transactions."

With a VMDK presented to Exchange, we are not aware of any reason why Exchange (or any other application) would not function exactly the same as if the VMDK was residing on a FC or iSCSI backed LUN, or if a LUN was presented to the guest OS via an In Guest iSCSI initiator.

This is due to vSphere abstracting the underlying storage from the VM. To the operating system running within the guest the virtual hard disk appears and acts just like a local physical SCSI disk, regardless of the underlying storage protocol.

In support of this, Microsoft has a program called "Exchange Solution Reviewed Program" or "ESRP" which Microsoft partners can use to validate Exchange solutions. This program requires specific tests including one of24 hours using Jetstress with predefined settings, to validate the subsystem not only system performance, but consistency of the database.

Here is a Jetstress report showing the ESRP test passing with the following VM configuration with Exchange running within a VMDK on an NFS datastore

1 x Windows 2008 VM

1 vCPU (2.6Ghz)

24Gb vRAM

4 x PVSCSI Adapters

8 x VDMKs (2 per PVSCSI)

8 Exchange Databases (one per VMDK)

2 DAG Copies

The 24 Hour test can be viewed here - 24 Hour Jetstress Test

The Databases checksum from the above 24 hour test can be viewed here - DB Checksum

Note: The above test was ran for the purpose of this post, to show the storage abstraction works for Exchange, not to demonstrate maximum performance for the underlying storage platform.

So if a vendor validates a VMDK on NFS implementation by successfully completing Microsoft's official tests (via ESRP) is there any reason not to support it?

We believe Microsoft should provide some formal process to storage vendors to certify their solutions for Exchange, in the worst case, at least allowing vendors to submit hardware for validation using Microsoft's internal certification/QA process where these tools cannot be shared publicly.

Please show your support for this issue by voting and leaving your constructive or encouraging feedback in the comments at the Microsoft Exchange Improvement Suggestions Forum below. This issue is already rated as the #1 issue so the more support the better!

http://exchange.ideascale.com/a/dtd/support-storing-exchange-data-on-file-shares-nfs-smb/571697-27207

So to Microsoft - and too all the Microsoft Exchange & Storage experts we ask;

1. Can you clarify by providing some form of documentation what the issue is with Exchange on NFS natively. The goal to ensure if there is an issue, its understood by the community

2. Can you clarify by providing some form of documentation what the issue is with Exchange storage in a VDMK on an NFS datastore (where the storage is abstracted by the hypervisor). The goal again is to ensure if there is an issue, its understood by the community and can possibly be addressed in future hypervisors.

3. If the support statement is simply outdated and needs updating, lets work together to make it happen for the good of all Microsoft's customers, especially those who have NFS storage from one of the many vendors in the market.

Now for those customers experiencing this issue today, lets discuss the current workarounds available if you need to comply with the current support policy and the continued impact to Microsoft customers if the policy is not updated.

Option 1. Use in guest iSCSI initiators to present LUNs direct to the operating system

Issues

a) Increased complexity of managing two storage protocols (NFS + iSCSI), also some vendors license features like iSCSI at additional cost, so it makes it so expensive to purchase a license on the storage just to support Exchange.

b) Some storage solutions may not support NFS and iSCSI

c) Increased points of failure eg: iSCSI initiator

d) Potential for reduced storage capacity efficiency

e) No ability for the guest to take advantage of advanced storage features that are added to the vSphere storage stack.

Option 2. Present iSCSI LUNs to vSphere hypervisor

Issues

a) Increased complexity of managing two storage protocols (NFS + iSCSI) and additional cost as explained above.

b) Some storage solutions may not support NFS and iSCSI

c) Increased points of failure eg: iSCSI initiator

d) Potential for reduced storage capacity efficiency

Option 3. Run Exchange on physical hardware (not virtual)

Issues

a) Increased complexity of designing and managing another silo of compute/storage

b) Increased datacenter requirements which lead to increased OPEX (ie: Power/Cooling/Space)

c) Decreased ROI from physical hardware compared to virtualization

d) Decreased storage capacity efficiency

e) Increased CAPEX due to reduced flexibility in sizing physical hardware ie: Sizing for end state not current requirements

f) Delayed time to market / upgrades / expansion due to procurement of hardware

g) Increased hardware maintenance costs

h) Increased complexity for Disaster Recovery

It is clear based on the experience of the contributors of this article, that NFS has a large footprint in the market and for these customers using NFS, Microsoft should seek a mutual Win-Win situation for its large and small customers using NFS.

Microsoft should extend support for NFS backed storage deployments to facilitate and simplify Exchange deployments for customers using NFS storage, which without the updated support statement would likely be forced into using multi-protocol or standalone silo type deployment for Exchange, adding complexity and resulting in increased CAPEX/OPEX.

Let's hope Microsoft care about their customers as much as the authors of this document do!



Reply:

Great writeup!

One thing I would emphasize is even though its storage + converged infrastructure vendors leading the charge... this is an extremely frequent request from our customers, they really want Exchange + VMDK + NFS datastores to be supported by MSFT so they can virtualize Exchange in the same way they virtualize the rest of their environment.  

Many of them also just ignore this support statement since they know there is no technical reason for it.  



------------------------------------
Reply:
Hey everyone, I hope all are well and enjoying weather that is as nice it is here in Northern CA, today. :)

I've been working with Exchange, into the six-figure (mailbox count) range for over 15 years. After working in the field and teaching Msft (MCT), I landed at NetApp for 12+ years, where I first started working with others on an advanced storage management solution for Microsoft Exchange 5.5 (and 2xxx in the following years...). In the beginning, this was all before VSS, etc. I've seen a lot!

I currently work at Tintri in engineering, where I am (as you may guess) focused on some exciting and innovative Microsoft integrations.

Note: My comments are of my own personal opinion here, while working from home, juggling a few personal appointments today.

Candidly, if I were Perry Clarke (Exchange GM) and the decision to blindly support "NFS" was an all-or-none proposition, I would decisively and with conviction say "no" <the end>. I believe that is part of the problem surrounding this topic. There is often no clear qualification in the language when people ask. It's just "NFS", foo, bar. A small PC with a 1TB SATA disk and Linux could technically yield "NFS storage"... If I were Microsoft, I would NOT want to take a support call or have a customer report a major outage (or data loss) because I had blessed such a configuration.

Now back to reality. At Tintri, if we can deliver 100K r/w IOPS averaging a few milliseconds, power-off controllers, yank network cables, fail switches, etc. (as we do regularly, such as with our Cisco UCS qualification) with no errors, than we are clearly in an entirely different airspace. With a disruptive, irrefutably robust, industrial strength technology such as ours (I can only speak for Tintri), pushback from Microsoft can only push customers *away* from Exchange. One (of the many) reasons the Exchange team innovated so many great storage-driven features in recent years, is because SANs were too complex, expensive, etc.

Given my long love affair with Exchange, I want to see Exchange thrive for years to come. I've been around long enough to understand how the Exchange team arrived at their disposition toward insulating Exchange from storage hiccups (it is not without reason), but times have and will continue to rapidly change. And that's not to mention the benefits of virtualization, and the automation capabilities that you simply DO NOT HAVE with bare-metal servers. Who cares if you can't put 12 cores and a jazillion GB's of RAM into a VM. That would be silly anyways, right? Multiple VMs, across multiple virtual hosts is obviously a better way to distribute the load while maximizing availability.

Lastly, I hope Microsoft isn't betting that Enterprises will move to the cloud too quickly. The continued public-cloud volatility and the outcome and context in which it will all play out is yet to be determined, especially in the short-term.

I can say this with confidence: Exchange works and performs brilliantly on Tintri VMstore, and we add a lot of value. Put us to the test, through any qualification process, and we will shine. I know, because I've done it myself and I am among the hardest to "impress" (so to speak).

I have written enough (for now)!

Warmest regards,

-Jp

------------------------------------
Reply:

I can't comment on Tintri as I haven't tested it myself, but everything else you mentioned I agree with with the exception of the below 2 comments.

"Candidly, if I were Perry Clarke (Exchange GM) and the decision to blindly support "NFS" was an all-or-none proposition, I would decisively and with conviction say "no" <the end>."

I agree, BUT would say the same for any storage solution / protocol - so if its just NFS, the current "needs to support SCSI aborts" excuse does not fly with Exchange in a VMDK on abstracted NFS storage.

I believe that is part of the problem surrounding this topic. There is often no clear qualification in the language when people ask. It's just "NFS", foo, bar. A small PC with a 1TB SATA disk and Linux could technically yield "NFS storage"... If I were Microsoft, I would NOT want to take a support call or have a customer report a major outage (or data loss) because I had blessed such a configuration."

I would submit the same is true for iSCSI, any consumer grade NAS (or as you mentioned linux VM) can serve iSCSI and Microsoft support iSCSI "blindly" in the same way your saying not to "blindly" support NFS. (Which as I mentioned earlier I agree they should "blindly" support anything!)

I have seen plenty of storage simply undersized to the point of such high latency the OS has seen high latency & even delayed write failures and similar issues - its not the fault of the FC,FCoE,iSCSI or NFS protocol though, it was simply an overloaded/undersized storage solution. But in this case,  MS would support Exchange as long as it wasn't running on NFS!?

I think the case is simple, Microsoft should have a qualification process for all storage (as support based on a protocol which can be fully abstracted make no sense) - this would make support easier for MS, and provide more certainty for clients when deploying Exchange on a given platform, knowing it has passed the qualification tests.

Win/Win/Win for MS , Storage Vendors & our mutual customers


Josh Odgers - VCDX#90 Sr Solutions & Performance Engineer @ NUTANIX


------------------------------------
Reply:

Josh, thank you for pointing out that bit about iSCSI (that you could hack together a bummer "solution", and it would actually be supported). So true!

Workload sizing correctly is very important, and it cannot be based on the size (space consumed) of the databases. I've seen the low-level storage traces as they've changed over the years with the Exchange versions, and Microsoft has made some vast improvements since the ~2000/2003 EDB versions. But all of the factors need to be evaluated together.

Elevating ESRP testing for NFS/SMB (vhdx|vmdk(EDB)) to first-class status would be well received by everyone. But if I were Microsoft, I would try to find a clever way to discourage garage-built, hillbilly "storage systems" (or servers for that matter) in favor of real products, with real support and sound engineering so that *customers* have resources to hold accountable with any issues.

:::I see WAG (Wild-Ass-Guess*) Engineering everywhere::::    ;)

Cheers,

-Jp

*Credit where it is due for that awesome term: Rob Cohee, Autodesk


------------------------------------
Reply:

After lots of feedback, I have expanded on the exact configuration being proposed to be supported in the below post.

What does Exchange running in a VMDK on NFS datastore look like to the Guest OS?


Josh Odgers - VCDX#90 Sr Solutions & Performance Engineer @ NUTANIX


------------------------------------
Reply:

This support issue is getting plenty of interest across the industry, to the point VMware have had numerous inquires from customers about this.

Quote "VMware has received a number of inquiries from our customers and partners about this movement"

http://blogs.vmware.com/apps/2014/02/microsoft-exchange-server-nas-support-position.html



Josh Odgers - VCDX#90 Sr Solutions & Performance Engineer @ NUTANIX


------------------------------------
Reply:
Great article, thank you.

------------------------------------
Reply:
A great workaround for this outdated support policy is to stop using Exchange. There are plenty competitive products out there that do the same or a better job and are supported in this combination or even native NFS. 

------------------------------------
Reply:
Excellent discussion!. I too have been struggling with this issue in our Exchange environment. I really want to get rid of physical mode RDM's ASAP. Keep up the fight!

------------------------------------
Reply:
Further information about Integrity of Write I/O for VMs on NFS Datastores

Part 1 - Emulation of the SCSI Protocol
http://www.joshodgers.com/2014/11/03/integrity-of-io-for-vms-on-nfs-datastores-part-1-emulation-of-the-scsi-protocol/

Part 2 - Forced Unit Access (FUA) & Write Through
http://www.joshodgers.com/2014/11/04/integrity-of-io-for-vms-on-nfs-datastores-part-2-forced-unit-access-fua-write-through/

Part 3 - Write Ordering
http://www.joshodgers.com/2014/11/06/integrity-of-io-for-vms-on-nfs-datastores-part-3-write-ordering/

Part 4 - Torn Writes
http://www.joshodgers.com/2014/11/10/integrity-of-io-for-vms-on-nfs-datastores-part-4-torn-writes/

Part 5 - Data Corruption 
http://www.joshodgers.com/2014/11/12/integrity-of-io-for-vms-on-nfs-datastores-part-5-data-corruption/

Josh Odgers - VCDX#90 Sr Solutions & Performance Engineer @ NUTANIX


------------------------------------
Reply:

Hi Eric,

I would appreciate if you would share your full name and employer, since the above was your 1st post on TechNet.

Thanks for the reply, although I think the negativity could have been left out which would have made the conversation more constructive.

I figured I'd get the question of Nutanix Acropolis out of the way first. Acropolis Hypervisor (AHV) uses iSCSI and is certified on the Server Virtualization Validation Program (SVVP) so its fully supported for MS Exchange. Acropolis will also manage Hyper-V (running SMB 3.0) in an upcoming release so that's another supported solution on Nutanix in addition to ESXi and iSCSI which we also support.

Regarding the article you referenced regarding VMware being sued, I'm not sure what relevance that has to the topic?

If you and Microsoft were correct about SCSI protocol emulation on ESXi not working as per the patent, every SQL deployment on ESXi/NFS datastores would have corruptions left, right and center. This is not the case. I'm not saying corruptions never occur, but when they do its not due to SCSI protocol emulation of VMDKs on NFS datastores.

In addition the SQL team support SQL in VMDK on NFS datastores, I've personally validated this and even wrote the below article.

http://www.joshodgers.com/2015/03/17/microsoft-support-for-ms-sql-on-nfs-datastores/ 

Now you may come back with NFS isn't supported for some SQL deployment types, and this is true, as old style clustering using shared disks is not supported but things like Always on Availability groups are supported.

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1037959

Coming back to what I believe is your main point around SCSI aborts and the various quotes you choose to use.

The one you left out which is detailed in my post below is the following:

"Accordingly, a faithful emulation of SCSI aborts and resets, where the guest OS has total control over which commands are aborted and retried can be achieved by keeping a virtual SCSI request list of outstanding requests that have been sent to the NFS server. When the response to a request comes back, an attempt is made to find a matching request in the virtual SCSI request list. If successful, the matching request is removed from the list and the result of the response is returned to the virtual machine."

So what you quoted is true but its not the complete story, if the Virtual SCSI request exists it is dropped as you mention but a response is also sent to the virtual machine so it and the application is completely aware of what's going on, in the same way a physical system is or a virtual machine running on iSCSI/FC etc.

http://www.joshodgers.com/2014/11/03/integrity-of-io-for-vms-on-nfs-datastores-part-1-emulation-of-the-scsi-protocol/

So in summary: The SQL team supports VMDKs on NFS datastores, and SQL along with most applications have the same block storage requirements as the Exchange team quote including Write ordering, Forced Unit Access, Write Through (which BTW Nutanix does regardless of storage protocol) and protection from Torn I/Os.

I don't expect we'll agree on this topic, as over the years its gone beyond technical and probably started as MS simply not wanting to help/encourage ESXi deployments but has in the last few years gone into the realm of religious debate.

To me, I just hate it when customers are being scared into expensive capital expenditure or dedicated HW silos for one application (such as Exchange) due to FUD. Worse still the FUD being repeated (in 99% of cases) by people simply parroting what somebody else says as opposed to understanding some of the topics outlined in my blog.

Now don't mis-interpret the above as me saying you are parroting, I have no idea if you are or not but too your credit you have gone much deeper into the conversation than most.

Nutanix customers can chose from 3 hypervisors each of which is fully supported (by MS) using iSCSI or SMB3.0 but the purpose of the original post was about updating the support statement for all vendors, Nutanix simply took the lead in raising awareness in the community which I am happy to say has been achieved.

My closing point, It seems crazy I can run MS Exchange in a supported config on a consumer grade NAS running iSCSI but not enterprise grade highly QA'd storage solution/s from many vendors if NFS datastores are used with ESXi.

For such a business critical application, if it was my call, I would have a storage certification program regardless of storage protocol as plenty of block & file storage implementations vary in quality. Even some enterprise arrays don't do FUA or Write Through which the Exchange team have always insisted is required but only in the context of NFS discussions.

Maybe a good topic would be to dive into how SMB 3.0 and VHDXs do emulation of the SCSI protocol - but that would only strengthen the case for NFS and no further evidence is required IMO.

Again, thanks for the comment and especially for going further than the bulk of people who just parrot a version of what they have heard in the past from MS.


Josh Odgers - VCDX#90 Sr Solutions & Performance Engineer @ NUTANIX


------------------------------------
Reply:

Josh,

It's somewhat ironic to hear your comments on negativity when your original post amounts to a not-so-thinly veiled accusation of dirty dealings on Microsoft's part.  That said I have deleted my post and will refactor it to hopefully address your concerns.

I will repost for another reason also.

As you have apparently not comprehended my point about determinacy of state on data on the underlying physical media, I will attempt to explain this more clearly.

The section of text you reposted from the patent refers to the >>virtual<< queue ONLY.

Next you imply (by asking for my full name and employer) that my own motives are suspect.

I'm a former engineer who has been deep into these protocols since long before Microsoft shipped Windows (or Exchange), VMware existed, and even before NFS was first used in a NAS appliance. 

I'll let the quality of my technical analysis speak for my identity and ask (politely, for now) that you to stop trying to "out" me.  I believe that kind of behavior, in addition to being offensive in the implications it carries, can be sanctioned on TechNet.

I will repost tonight.  Looking forward to a constructive dialog.


  • Edited by Eric_W Wednesday, August 12, 2015 1:24 PM typo

------------------------------------
Reply:
Hey guys, great discussion, but this isn't really an Exchange Development issue. I'm going to move this post over to the Exchange discussion forum on TechNet.

------------------------------------
Reply:
Hey guys, great discussion, but this isn't really an Exchange Development issue. I'm going to move this post over to the Exchange discussion forum on TechNet.


------------------------------------
Reply:
Can you name a few?

------------------------------------
Reply:

Hi Eric,

I believe its common courtesy to introduce ones self when having a discussion, If you find "I would appreciate if you would share your full name and employer" offensive I can't help with that but I can advise nothing is implied by my question.

I simply would like to know who I am conversing with especially since your reply may well be the first detailed discussion from a person opposing VMDK + NFS support with some knowledge on the topic. (That is a compliment BTW).

I would also encourage you to re-submit your original post to ensure this thread has context.

Thanks


Josh Odgers - VCDX#90 Sr Solutions & Performance Engineer @ NUTANIX


------------------------------------
Reply:

Thanks Josh,

Let me offer this.

http://virtualgeek.typepad.com/virtual_geek/2009/06/vmware-io-queues-micro-bursting-and-multipathing.html

Please review the above first, then let's continue.

Microsoft's statement on Exchange is (simply put) that they do not support any form of SCSI block-emulation sitting atop NFS, due to Exchange recovery mechanisms which rely on direct access to the underlying physical media.

This makes perfect sense to me because these emulation mechanisms cannot ensure determinacy of state of the data at the LBAs on the >>physical<< device following an abort command acknowledged by a >>virtual<< queue.

By determinancy, I mean that the state of the data on the physical disk following an aborted write >>must<< be known as either:

(a) the original physical data was unchanged (following a successfully acknowledged abort) or

(b) the data >>may<< have been changed (the abort was not acknowledged), or

(c) the data >>was<< changed (the abort command returned as 'failed')

Either way, Exchange definitely knows the state of data on the underlying physical media.

Now if you've had a careful look at the article above, and then re-read VMware's patent that you cited, I believe you will come to the conclusion that determinacy of state of the underlying physical media becomes impossible.

That is my own assessment and I suspect that is also Microsoft's assessment.

Finally, my understanding is that Exchange is very much different from SQL Server in this regard.

I can promise you that I am not a Microsoft employee, and that I have no horse in this race.  I'm just a former storage engineer who understands this problem deeply.  I support the position that >>any<< application that relies on SCSI protocols working exactly as they are defined in the T-10 specifications should take the same position Microsoft has here.

VMware's patent text clearly implies that they are fudging the SCSI abort command and makes no attempt to hide this or state otherwise.  I believe this is because it is effectively impossible to maintain the "pass-through chain" of multiple abort commands all the way down to the physical disk queues and then the acknowledgements of those aborts all the way back up the chain to the application, once there is an NFS file-system obfuscating the I_T_L_Q relationships between block-level initiators and the block-level targets.

This is not just VMware.  I believe that any attempt to present a block-level target that is based on underlying NFS storage necessarily 'breaks' the SCSI abort command chain in exactly the same way.

If any virtualization vendor using NFS as an underlying data store has come up with a solution, then I believe it is incumbent on that vendor to demonstrate exactly how their implementation matches up with the Letter of the Law (the T-10 specification).

Let me add this lastly -- consider that NFS has no equivalent command to match SCSI abort and then ask yourself 'why not'?  Once the chain of Initiator_Target_LUN_Queue nexes is broken by putting NFS in the middle, there's just no way to do it.


------------------------------------
Reply:

IMO Jeff Mealiffe's comments don't align with yours as he continues to spread the word (Slide 15 of the presentation below) that Write ordering, Forced Unit Access, Write Through and protection from Torn I/Os are required for Exchange and this is exactly the same as what the SQL team require AND allow to be certified (to their credit!)

Jeff's Presentation: http://video.ch9.ms/sessions/mec/2014/ARC305_Mealiffe.pptx

SQL Server I/O Reliability Program Review Requirements: http://download.microsoft.com/download/F/1/E/F1ECC20C-85EE-4D73-BABA-F87200E8DBC2/SQL_Server_IO_Reliability_Program_Review_Requirements.pdf

So Let's agree to disagree about VMDK on NFS and talk about VHDX files on SMB 3.0? What's your position here? (and i'm not interested that MS say they have tested it and its a supported config) 

Support statement for Exchange says:

"Also, in a virtualized environment, NAS storage that's presented to the guest as block-level storage via the hypervisor isn't supported."

SMB 3.0 (NAS/File storage) is presented to Windows/Hyper-V which presents VHDX files as block-level storage to the guest.

So if the Exchange teams fears about abstraction are indeed true (which they are not) SMB 3.0 with VHDX (and VMDK on NFS) should not be supported. Interestingly only a competitors solution (vSphere w/ VMDKs) isn't supported and nor can any vendor do what you suggested and demonstrate to the Exchange team how there storage works, trust me, we've tried and they are not interested in even having the discussion. 

As I don't know who you are I can only assume you have no influence on this topic at MS, BUT If you do, I challenge you to ensure vendors are given a chance to "demonstrate exactly how their implementation matches up with the Letter of the Law" as you put it. This is all the storage/virtualization industry is asking for. Hell, the Exchange team could just give vendors the documentation of how satisfied themselves that SMB 3.0 and VHDX "matches up with the Letter of the Law" and the same tests (where applicable) could be EASILY ran on VMDK on NFS.

(Frankly IMO, the MS Exchange team are scared of being proven wrong AND they don't want to promote vSphere deployments so they will never do this, neither reason is related to the technical implementation of SCSI protocol emulation via VMDK on NFS though)

Me on the other hand, I would LOVE for somebody to prove that VMDK on NFS doesn't work as I have described as in theory if it didn't work properly, this would be a major challenge for all vSphere customers using NFS which I would want to help lead the resolution of.

So there's a challenge for you if choose to accept it. If you want to contact me privately I'm sure we could arrange a Windows server on iSCSI and another on NFS for you to prove your point, or even just prove you could tell which one is which.

Regarding your don't have a "Horse in the race" comment, neither do I. Nutanix (my employer) has iSCSI for Acropolis and vSphere and SMB 3.0 for Hyper-V all of which are fully MS supported so its not impacting our business, in fact, if anything its making us money as our Global Services team have to deploy solutions (like iSCSI in-guest) for customers when deploying Exchange which takes longer (albeit not much) than direct on VMDKs. If anything, the support statement being updated would help Nutanix competitors who in some cases don't have the multi-protocol support we do. 


Josh Odgers - VCDX#90 Sr Solutions & Performance Engineer @ NUTANIX


------------------------------------

New power option setting problem / question

Having a problem with a new option in the power options section and need some help.  The new setting is: "important wake timers only" and it is an addition to the "Enabled" and "Disabled" options for the power setting "Allow Wake Timers". (Power Options/Advanced settings/Sleep/Allow wake timers)...

I'm running a scheduled task that executes a batch file to:

  • adjust the power settings (not sleep or hibernate even though lid is presently closed),
  • execute av scan from the command line, with logging,
  • reset the power options back to my original settings (sleep when lid closed or after 45 min. of inactivity & 90 minutes to hibernate)
  • exit

If I set the "Allow Wake Timers" to Enabled, the task starts, runs and finishes as expected.  If I set the "Allow Wake Timers" setting to "Important Wake Timers Only" it doesn't.  I have tried normal user, builtin Administrator and System for the Scheduled task owner, and have "Wake computer to run" checked.  If I open the laptop and resume, the task starts immediately(as expected since the "run immediately if start is missed" is checked.)

Anyone have any ideas of just what an "Important Wake Timer Only" might be.  It appears to be a new setting under WIN10 and there's no documentation that I can find. I'm running 10240 with all latest patches (Fast track).

Thanks in advance...
  • Changed type Michael_LS Monday, August 24, 2015 3:21 AM

Reply:

Steve

Thanks for reposting.   I have pinged the relevant people.  Good Luck


Wanikiya and Dyami--Team Zigzag


------------------------------------
Reply:

Have heard nor seen anything as a response...What is "Important Wake Timers Only"? and how do they differ from Allow (All) Wake Timers?

ZigZag's note is a thank you to me for reposting in TechNet instead of Insider Forums.

Steve


------------------------------------
Reply:

Hi SteveSchneer,

I didn't find out any further official articles talking about this change, regarding the Important wake timers only.

As Team ZigZag suggested in your another thread, this should be considered as a higher priority.

There is still disable/enable option available for the wake timers, I assume the Important wake timers only option should be made to disable some additional timers (if configured).

In addition to the Device Event,  scheduled timer is another way to wake up the machine. For more information regarding the system wake-up event, please check:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa373235(v=vs.85).aspx

More information regarding timers: https://msdn.microsoft.com/en-us/library/windows/hardware/dn265414(v=vs.85).aspx

Regards


Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.


------------------------------------

Manager and Direct Reports - Entire Reporting Tree

I'm curious if anyone has any general ideas on how to go about constructing a management pack to reveal a manager's entire direct reporting tree. I know this relationship exists in SCSM, but it's only a single level.

Just typing aloud here - I no doubt will be leveraging the infamous "seedrole", but the thing I conceptually can't overcome is "How do I know HOW many levels I go down since every manager depending at what level they are in the organization could have X number of levels?" This task seems incredibly simple via raw PowerShell but is far less straightforward in my head in regards to mgmt. pack design for returning Query Results.

Looking for really any discussions or thoughts on this topic.


Adam Dzak


Reply:

If your scope is a query prompt in a request offering, then you're stuck creating a finite number of levels in a type projection. There is no relationship recursion built into the portal query prompts.

The manager relationship itself, however, is not necessarily a single level. If your AD is setup appropriately, then you have a manager (another user related via the user manages user relationship) and your manager has a manager (yet another user related via the user manages user relationship), etc etc until you reach the CEO.

The first question is..what direction is your type projection travelling? If it's from user->manager, then you're going "up" your hierarchy which will require seedrole='target'. If you're going from manager->user, then you're going "down" your hierarchy and you can use the default seedrole or spell it out (seedrole='source') just for clarity.

But the question about how many levels is kind of moot..how many levels does your organization have? Put that many levels into your type projection. Anymore than that would be unnecessary.

So what's your query prompt input and what choices are you trying to provide to your user?


------------------------------------
Reply:

It would be going "down" the hierarchy.

The query prompt is "Select a Direct Report" and it would be done to improve upon - http://scsmmercenary.blogspot.com/2015/03/id-love-to-use-direct-reports-style.html which builds off the management pack Shaun wrote here https://shaunlaughton.wordpress.com/2014/01/10/working-with-managers-and-direct-reports-within-service-manager-2012-service-requests/

The fastest way to summarize purpose (in the event you or onlookers are interested) is the idea of creating this faux "Create on Behalf of" scenario for managers to do things for their direct reports (i.e. order a laptop, get access to an inbox, set out of office, etc.).

As a follow up, I think I get what you're saying with the number of levels being moot. But then when you moved onto "Put that many levels into your type projection" - is that to say I can have (and I'm making this up) 20 levels even though only 8 exist? So by adding 20, I'm essentially covering myself or have I misread you?


Adam Dzak


------------------------------------
Reply:

nope, you got it right. You can put 20 levels in if you want, but only 8 will ever be used. But, based on your description, multiple levels is irrelevant.

If your prompt is limited to "direct reports" only, then you only need 1 level in your type projection. User -> User Manages User. That's it.

The manager will be the "second level"

<TypeProjection Type="System!System.Domain.User">
  <Component Path="$Target/Path[Relationship='System!System.UserManagesUser' SeedRole='Target']$" Alias="UsersManager" />
</TypeProjection>

Now, when you create your query prompt, your criteria is "[me]"=UsersManager.UserName (or whatever that current user token is).

In that way, no matter what "level" the user is at, only their direct reports will be visible in the query prompt's selection list. And an employee at the bottom of the ladder will see no users in their list.

Alternatively, if you're letting them choose from anyone that reports to them (either directly or indirectly) then you won't be able to display all of those users with a query prompt. Query prompts only display users at the seed level (the top level) of a type projection..there's no way to display objects from further down in the type projection..you can only use lower type projection levels for criteria to filter the seed level objects that are displayed by the portal.
So if that's what you need, then you'll need to "flatten" your organizations hierarchy into a 2-level hierarchy so that you can simulate the direct-report scenario above. Basically, you create a data scheme where each user that reports to a manager either directly or indirectly is directly related to the manager. That could easily be done with a simple powershell workflow. You'd only need a new custom relationship through which a user is related to a manager. The workflow triggers whenever a new user is created. When they are, your workflow recursively traverses that user's manager tree and simply relates the user to each manager it finds as it travels up the tree.

The downside to this approach is, of course, redundant data..there will be a relationship between you and every manager in your branch all the way up to the CEO..but if the CEO wants to put in a request for you, you'll show up in his list.


------------------------------------

Nokia Lumia 625

Hello there! I do not know if this is the right place to addressed my Problem with your GPS Navigation!

I am very happy when my Here Drive + has a language in Tagalog! ... :)

I would like you to correct some parts on Directions:

* Instead of 20 yarda , it says 20 milya ( 20 yards it says 20 Miles )
* Instead of 25 yarda , it says 25 milya ( 25 yards it says 25 miles )

I am an automotive engineer , i can easily understand what the GPS meant ...
but it is better for the concerned party to correct the said issue!

I think you can check the veracity of my sharing with you! :)

Hoping for a reply  ...

Thank you & more power to you!  :)

Reply:

Nope. Not the right place. The Developing for Windows Phone forum is for developers to discuss writing their own apps.

For help using Windows Phone please post on the Windows Phone forum on http://answers.microsoft.com .

--Rob


------------------------------------
Reply:
Any feed back about this?
I hope the Developer can correct this issue! :(

------------------------------------
Reply:

Hello,

You should ask in the Windows Phone forums on the Microsoft Community forums.

As the Microsoft Community is on a different platform, we cannot move the question for you.

Once there, click on Participate near the top of the screen, and select 'Ask a Question' or 'Start a Discussion'

Karl


When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
My Blog: Unlock PowerShell
My Book: Windows PowerShell 2.0 Bible
My E-mail: -join('6D73646E5F6B61726C406F75746C6F6F6B2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})


------------------------------------

Get Partner agents with full access and limited access users in office365 using powershell

Hi,

how to retrieve the "Partner agents with full access" and "Partner agents with limited access" users in office365 using powershell?

Thanks

Venkat

  • Changed type Jeremy_Wu Wednesday, June 12, 2013 9:12 AM

Reply:

------------------------------------
Reply:

Hi Venkat,


Let's focus on the original thread.


Thanks.


Jeremy Wu
TechNet Community Support


------------------------------------
Reply:

Please try these powershell cmdlet :

1. Partner Agent with full Access

PS C:\Windows\system32> Get-MsolGroupMember -GroupObjectID e9325ff3-1065-4bb0-b32d-b9500bd9c034

2. Partner Agent with limitedAccess

PS C:\Windows\system32> Get-MsolGroupMember -GroupObjectID d3a53d78-942d-43da-b6af-0520ac4c7a35


  • Edited by Raj Bindal Saturday, July 27, 2013 12:40 PM AdminAgent and HelpDeskAgent Groups Member

------------------------------------
Reply:

Raj is correct about being able to extract this information from group membership, however the group ObjectID is unique per tenant. You can pull this information with the following command:

Get-MsolGroup -IsAgentRole

This will return two groups, AdminAgents (Partner agents with full admin access) and HelpdeskAgents (Partner agents with limited access). You can find the group membership with the command:

Get-MsolGroupMember -GroupObjectId "Object ID obtained in first step"


Sean Greenlee

Check out my blog  


  • Edited by Sean Greenlee Monday, August 17, 2015 3:20 PM Update signature

------------------------------------

Cannot find list with correct guid and name

Hi all.

Please help me with my test programm for MS Sharepoint.

I use MS SP13 and VS 15.

Can not find it in the program list, if done through the browser that's all right.

My query in browser: https://intra/site/_api/Web/Lists%28guid%myguid%27%29/

If I try use list name, not a guid, I see the same problem.

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SharePoint.Client; using System.Net; using SP = Microsoft.SharePoint.Client; namespace sharepointlist {     class Program     {         static void Main(string[] args)         {             Guid guid = new Guid("myguid");             NetworkCredential myCredentials = new NetworkCredential("", "", "");           

myCredentials.Domain = "1";            

myCredentials.UserName = "2";           

myCredentials.Password = "3";             ClientContext context = new ClientContext("https://intra/");             Web web = context.Web;          

context.Credentials = myCredentials;             SP.List list = context.Web.Lists.GetById(guid);             SP.CamlQuery query = SP.CamlQuery.CreateAllItemsQuery(100);             ListItemCollection items = list.GetItems(query);             context.Load(items);             context.ExecuteQuery();             foreach (ListItem listItem in items)             {                 Console.WriteLine(listItem);                 Console.ReadLine();             }         }     } }          





Reply:

What error are you getting?

I cant see anything wrong, but you can try below from scratch again:

http://www.codeproject.com/Articles/399156/SharePoint-Client-Object-Model-Introduction


Regards,
Rupesh Singh
Blog: www.codemanga.com
Site: www.ngenioussolutions.com/
---------------------------------------------------------------------
Please don't forget to mark it as answered, if your problem resolved or helpful.


------------------------------------
Reply:

Hi.

Thanks for the link.

Selfsolved. My site was in

https://intra/site

not in

https://intra/


------------------------------------

Excel message box dismissal code no longer working

I have this little Auto Open sub in Excel 2013 which opens a message box and closes it after 1 second.  Its been working for months now all of a sudden it stopped working.  I experimented with different AckTimes and it still refuses to close the message box. If I name the sub anything other than Auto_Open it works fine. Please advise.
Sub Auto_Open()   Dim AckTime As Integer, InfoBox As Object   Set InfoBox = CreateObject("WScript.Shell")   'Set the message box to close after x seconds (AckTime)   AckTime = 1   Select Case InfoBox.Popup("Refreshing Data. Please Wait for DONE message . . ", _   AckTime, "Data Refresh", 0)   Case 1, -1   Exit Sub   End Select  End Sub



Reply:

It's a Windows issue, you were lucky if it has worked in the past.

I've played around with such code in the past and have found that it isn't stable. Sometimes the message box disappears, sometimes not, sometimes after the number of seconds, sometimes immediately.

Add a Userform to your project with a Label that shows your message and use this code to show it:

Sub Show_Userform1()   Dim T As Single   'Load the form   Load UserForm1   With UserForm1   'Show it and return immediately   .Show vbModeless   'Wait till the form is visible   Do   DoEvents   Loop Until .Visible   'Get the timer in seconds   T = Timer   On Error GoTo ExitPoint   'Wait a second or finish if the form is closed manually   Do   DoEvents   Loop Until Timer > T + 1 Or Not .Visible   'Close the form   End With  ExitPoint:   Unload UserForm1  End Sub  

BTW, Auto_Open is obsolete, use Workbook_Open (within code module "ThisWorkbook") instead.

Andreas.


------------------------------------

Windows Update is useless!

Windows update on Windows 10 is soo crappy!

I hate it so much.

Basically you have no control more over Windows update

When you click search for updates, windows will search for updates, download all updates and then install all updates it finds.

You have no option to stop, cancel or pick the updates you want to install.

Also, you can not see how big the updates are, so you have no idea how long it will take to install.

Today I updated my Nvidia graphics card driver to a newer version (353.82), downloaded from Nvidias website.
After the update, Windows update started downloading the an older version of the driver to downgrade. (353.62) 

And again there is no option or setting to tell windows update not to force update/downgrade drivers automatically!




  • Changed type ZigZag3143x Monday, August 17, 2015 1:55 PM no question in sight
  • Edited by emusp Monday, August 17, 2015 1:56 PM

Reply:
You were told that would be the way it is and yet you still upgraded.  You could always buy an enterprise key so you had some control

Wanikiya and Dyami--Team Zigzag


------------------------------------
Reply:

I am on Windows 10 Enterprise. The settings are the same!

I'm an IT Pro, working with deployment, not consumer.

I'm just want to Microsoft to know. This is not made for Enterprise.


  • Edited by emusp Monday, August 17, 2015 2:02 PM

------------------------------------
Reply:

In "Advanced System Settings > Hardware > Device Installation Settings", you might be able to disable this?

For this specific update, you can use kb3073930 to disable future installs of it.

(Search for the KB, I can't link it due to lacking forum permissions)

  • Edited by koppi Monday, August 17, 2015 2:03 PM tool

------------------------------------
Reply:

That is a workaround.

Windows Update should not downgrade your driver automatically.


  • Edited by emusp Monday, August 17, 2015 2:15 PM

------------------------------------

Administrative Events/Device Manager-Matshita DVD-RAM UJ8G6 Error message

I keep receiving this message: Unexpected failure. Error code: C0000014@020A0007

Log name: System

Source: Virtual Disk Service

Can you please tell me what this error is and how do I fix this.

Could you please email me with the answer to: michaelsln289@aol.com.

Thank you very much.

Michael Sloan


Reply:

I keep receiving this message: Unexpected failure. Error code: C0000014@020A0007

Log name: System

Source: Virtual Disk Service

Can you please tell me what this error is and how do I fix this.

Could you please email me with the answer to: michaelsln289@aol.com.

Thank you very much.

Michael Sloan



------------------------------------

Facing Network Errors while processing SSAS Cube using SSIS Package but not always

Hello Everyone,

Sometimes We are facing Network errors while processing the SSAS Cube , we have been used SSIS package which is scheduled using Autosys Job. When we re-ran the Job it is working fine but do not have any idea about network errors. Below are the few errors.

1.OLE DB error: OLE DB or ODBC error: Protocol error in TDS stream; HY000; Communication link failure; 08S01;
TCP Provider: An existing connection was forcibly closed by the remote host. ; 08S01; Communication link failure; 08S01; TCP Provider: An existing connection was forcibly closed by the remote host. ; 08S01.
2.An error was encountered in the transport layer.
3.The following system error occurred:  An existing connection was forcibly closed by the remote host.
Execution of DDL failed.
4.OLE DB error: OLE DB or ODBC error: Operation canceled; HY008.
5.Internal error: The operation terminated unsuccessfully.

Can anybody please give me the reasons and its solutions.

Let me know if i need to do any changes in SSAS Cube or Datasource.

Regards,

Praveen K.

Deploying Internet Explorer by Software Updates - Issues with detection

Hi

I am trying to deploy IE11 via SCCM2007 Software Updates.

The target machines are Win7SP1 with IE10 installed.

Strange thing is, I am finding that roughly half the fleet says (KB2841134) which is IE11 for Win7 (x64), is required and other half says not required. I have went through the prerequisites, and find that I meet the prerequisites. There is one optional that seems to be missing, but it is missing for both the machines that says the IE11 is required and not required.

Anyway, I have manually installed the missing prereq (KB2882822) on a machine that says IE11 is not required. It still has not changed the status.

I then tried to install IE11 manually to capture what the log says about what prereq is missing.

Here is the part of the info from the install log:

01:01.028: INFO:    Version Check for (KB2834140) of C:\Windows\System32\d3d11.dll: 6.2.9200.16570 >= 6.2.9200.16570 (True)
01:01.043: INFO:    Version Check for (KB2670838) of C:\Windows\System32\api-ms-win-downlevel-user32-l1-1-0.dll: 6.2.9200.16492 >= 6.2.9200.16426 (True)
01:01.043: INFO:    Version Check for (KB2639308) of C:\Windows\System32\Ntoskrnl.exe: 6.1.7601.23002 >= 6.1.7601.21863 (True)
01:01.043: INFO:    Version Check for (KB2533623) of C:\Windows\System32\api-ms-win-security-base-l1-1-0.dll: 6.1.7601.23049 >= 6.1.7601.21728 (True)
01:01.043: INFO:    Version Check for (KB2731771) of C:\Windows\System32\conhost.exe: 6.1.7601.23049 >= 6.1.7601.22045 (True)
01:01.043: INFO:    Checking for correct version of C:\Windows\Fonts\segoeui.ttf.
01:01.059: INFO:    Version Check for (KB2786081) of C:\Windows\System32\taskhost.exe: 6.1.7601.18010 >= 6.1.7601.18010 (True)
01:01.059: INFO:    Version Check for (KB2888049) of C:\Windows\System32\drivers\tcpip.sys: 6.1.7601.22648 >= 6.1.7601.22444 (True)
01:01.059: INFO:    Version Check for (KB2882822) of C:\Windows\System32\tdh.dll: 6.1.7601.22436 >= 6.1.7601.22436 (True)

Any ideas what else I should look for? There must be something else that the Software Update component looks for.

Thanks,

DM

  • Changed type Amy Wang_ Friday, August 28, 2015 6:32 AM SCCM related query

Reply:

On Sun, 16 Aug 2015 22:58:09 +0000, D_M_K wrote:

I am trying to deploy IE11 via SCCM2007 Software Updates.

This is not a security issue but appears to be an SCCM question. Please
repost to:

https://social.technet.microsoft.com/Forums/systemcenter/en-US/home?forum=configmgrsum


Paul Adare - FIM CM MVP


------------------------------------
Reply:

Ahh bugga... didn't check the group.

Would you happen to know how to move postings to another group? Or has to be reposted?

Thanks.

DM


------------------------------------
Reply:

On Mon, 17 Aug 2015 03:37:04 +0000, D_M_K wrote:

Would you happen to know how to move postings to another group? Or has to be reposted?

Only moderators can move posts. If I were you, I'd just go ahead and
repost.


Paul Adare - FIM CM MVP


------------------------------------
Reply:
Thanks Mate.

------------------------------------

No comments:

Post a Comment

Setup is Split Across Multiple CDs

Setup is Split Across Multiple CDs Lately I've seen a bunch of people hitting installation errors that have to do with the fact th...