Using PowerShell Functions in t-SQL scripts

experts,
Can I use a power shell function that gets file size given file path by cross applying it to a table in SQL Server that holds file path of files?
fileID    filepath
1         L:\DemoWebPages\About.cshtml.txt
2         L:\DemoWebPages\default.cshtml.txt.txt
3         L:\DemoWebPages\Layout.cshtml.txt
4         L:\DemoWebPages\Site.css.txt
if the above if the table in SQL Server, can I cross apply a power shell function that gets the file size when file path is passed from the table above?
Help Much Appreciated!
ebro

Make sure that you are running on the machine where you've full permission to access file and 
Sample data
create table filelist
fileid int,
path varchar(200))
insert into filelist values(1,'c:\Demystifying tempdb whitepaper.pdf')
insert into filelist values(2,'C:\Appleton Papers - 23 SQL DM - dani 6.28.13.pdf')
Powershell Scripts:-
Add-PSSnapin SqlServerProviderSnapin100 -ErrorAction silentlycontinue
Add-PSSnapin SqlServerCmdletSnapin100 -ErrorAction silentlycontinue
Function filesize
param([String] $path)
try {
if(Test-Path $path)
$size=(Get-Item $path).length/1024
write-host "$path size is $size KB"
catch [System.Exception] {
write-host "File not found"
$params = @{server='hqvd0026\kat';database='master'}
$Srv = invoke-sqlcmd @params -Query "SELECT * from dbo.filelist"
$srv
foreach ($db in $Srv)
filesize -path $db.path

Similar Messages

  • Regarding how to use the function module *control_form* in scripts

    HI friends,
    Can any one tell why and where do we use the function module control_form in scripts. Can you give me a small scenario how to use in scripts.

    hi satish,
    by using this function module we can pass the control
    commands to FORM THROUGH ABAP/4 PROGRAM.
    see the following example:
    TABLES: kna1.
    DATA: BEGIN OF it_kna1 OCCURS 0,
          kunnr LIKE kna1-kunnr,
          name1 LIKE kna1-name1,
          ort01 LIKE kna1-ort01,
          land1 LIKE kna1-land1,
          END OF it_kna1.
    DATA:records TYPE i,
         window TYPE i value 1.
    select-options:s_kunnr for kna1-kunnr.
    SELECT kunnr name1 ort01 land1 FROM kna1 INTO TABLE it_kna1
    where kunnr in s_kunnr.
    CALL FUNCTION 'OPEN_FORM'
      EXPORTING
        form     = 'ZSCRIPT4'
        language = sy-langu.
    LOOP AT it_kna1.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element  = 'ELE1'
          function = 'SET'
          type     = 'BODY'
          window   = 'MAIN'.
      DESCRIBE TABLE it_kna1 LINES records.
      IF window lt records.
        window = window + 1.
      CALL FUNCTION 'CONTROL_FORM'
       EXPORTING
            command         = 'NEW-WINDOW'
    EXCEPTIONS
      UNOPENED        = 1
    UNSTARTED       = 2
    OTHERS          = 3
      ENDIF.
    ENDLOOP.
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
      RESULT                         =
      RDI_RESULT                     =
    TABLES
      OTFDATA                        =
    EXCEPTIONS
      UNOPENED                       = 1
      BAD_PAGEFORMAT_FOR_PRINT       = 2
      SEND_ERROR                     = 3
      SPOOL_ERROR                    = 4
      CODEPAGE                       = 5
      OTHERS                         = 6
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    thanks,
    raji

  • Using CAST Function in PL-SQL

    Hello guys,
    I'm writing a stored procedure which tries to convert a string representing a number to a fixed size number(with 2 positions fraction). For example, if the input was "15,456" the result would become 15.45.
    I was able to aschieve this ussing the CAST function within a query as follows:
    select cast ('15,456' as number(15,2)) from dual; -- (the comma in my case is configured as fraction separator). The previous query executes OK using a query analyzer like SQL Plus.
    However, when I try to use the same function within a stored procedure, it will complain about the number's size (15,2) and wont compile.
    v_importe_ingresado := CAST('15,456' AS NUMBER(15,2));
    Error output: PLS-00103 found '(' but expected one of the following: .)@%
    When removing the (15,2) it compiles ok
    ¿Any clue?
    I will appreciate any help.
    Thanks in advance,
    Bernabé

    ¿Any clue?¿¿¿Over complication???
    SQL> select round(15.456, 2), trunc(15.456, 2) from dual
      2  /
    ROUND(15.456,2) TRUNC(15.456,2)
              15.46           15.45
    SQL> Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • How can I use PowerShell 3.0 cmdlets or script to list all the local groups and local users of a server?

    Using PowerShell 3.0 (And if possible the CIM, not WMI cmdlet), how can I script with | out-file C:\<filename>.txt or .csv option to list all local user accounts & local groups
    on remote computers? 
    Thank You!

    I don't recall PowerShell V3 introducing anything new to handle local users and groups. You need to use PowerShell V1 methods, using the [ADSI] accelerator and the WinNT: provider. The scripts linked above show this. No need to use WMI (which would probably
    be slower).
    Here is a script I've used to enumerate all local groups and their members:
    $Computer
    = "MyServer"
    $Computer =
    [ADSI]"WinNT://$Computer"
    $Groups =
    $Computer.psbase.Children | Where {$_.psbase.schemaClassName
    -eq "group"}
    ForEach ($Group
    In $Groups)
        "Group: "
    + $Group.Name
        $Members
    = @($Group.psbase.Invoke("Members"))
        ForEach ($Member
    In $Members)
            $Class
    = $Member.GetType().InvokeMember("Class",
    'GetProperty', $Null,
    $Member, $Null)
            $Name
    = $Member.GetType().InvokeMember("Name",
    'GetProperty', $Null,
    $Member, $Null)
            "-- Member: $Name ($Class)"
    A similar script to enumerate all local users would be:
    $Computer
    = "MyServer"
    $Computer =
    [ADSI]"WinNT://$Computer"
    $Users =
    $Computer.psbase.Children | Where {$_.psbase.schemaClassName
    -eq "user"}
    ForEach ($User
    In $Users)
        "User: "
    + $User.Name
    Richard Mueller - MVP Directory Services

  • Using max function in PL/SQL

    VERY URGENT...
    Am new to oracle...
    I've written a package that display gif images in form of histogram/bar chart. using html,
    I need to use max function to display values proportionately.
    please help. i need to complete this assignment by 2/9/00 by 10.00 am at the latest. I've half written a function but I don't know if there's a simpler way fo doing this. html enabled

    First of all Thanks to all gentlemen who replied ..many thanks ...
    Tried the ROW_NUMBER() option but still it is taking time...have given output for the query and tkprof results as well. Even when it doesn't fetch any record ( this is a valid cased because the input header id doesn't have any workflow request submitted & hence no entry in the wf_items table)..then also see the time it has taken.
    Looked at the RANK & DENSE_RANK options which were suggested..but it is still taking time..
    Any further suggestions or ideas as to how this could be resolved..
    SELECT 'Y', 'Y', ITEM_KEY
    FROM
    ( SELECT ITEM_KEY, ROW_NUMBER() OVER(ORDER BY BEGIN_DATE DESC) RN FROM
    WF_ITEMS WHERE ITEM_TYPE = 'xxxxzzzz' AND ROOT_ACTIVITY = 'START_REQUESTS'
    AND SUBSTR(ITEM_KEY,1,INSTR(ITEM_KEY,'-') - 1) = :B1
    ) T WHERE RN <= 1
    call count cpu elapsed disk query current rows
    Parse 0 0.00 0.00 0 0 0 0
    Execute 1 0.00 1.57 0 0 0 0
    Fetch 1 8700.00 544968.73 8180 8185 0 0
    total 2 8700.00 544970.30 8180 8185 0 0
    many thanks

  • Need help in using sleep function in pl/sql

    Hi,
    need help:
    I have a condition where i want to validate total_pass=total_fail and
    I want to use the sleep function in a pl/sql where i want to wait for 2 minutes ie.checking
    whether total_pass=total_fail based upon class_id .
    I have the data in the table as:
    CLASS_ID TOT_PASS TOT_FAIL
    1 10 10
    2 5 4
    3 6 6
    4 7 5
    Any help will be needful for me

    I'm not quite sure what you are lookg for here, but whatever it is, your code as posted won't do it. You will never break out of the WHILE r_Class.Tot_Pass = r_Class.Tot_Fail loop, since these values will never change because you never get the next record form the cursor.
    From your original data, it looks like your cursor will return multiple rows which implies to me that you want to fetch the first row from the cursor, check if tot_pass = tot_fail, if they are equal, sleep for two minutes then get the next row. This does not make sense to me. Once the select in the cursor is executed, the data it returns will not change due to Oracle's read consistency model, so there seems to me no point in the sleep.
    The other alternative I can see is that you want to check all the returned rows, and if tot_pass = tot_fail for one of the rows (or possibly for all of the rows), then you want to sleep and try again.
    If you can explain in words what it is you are trying to accomplish, someone will be able to point you to a solution.
    John

  • Not able to use a function inside a sql in a form, Why ??

    Here SERIAL_NUM is a function, this sql work fine in TOAD and SQLPLUS but inside the form iam getting error saying "function serial_num cannot be used in a sql" Why is it like that ?? Is there anyother way to execute this sql ?
    cursor c1 is
    SELECT msn.ATTRIBUTE7 Order_No,
    SERIAL_NUM(i.SERIAL_NUMBER) Serial_No,
    msn.ATTRIBUTE5 Firmware,
    msn.ATTRIBUTE15 Site_Pref
    FROM atrd.INSTALLER_INFO i,
    mtl_serial_numbers msn
    where SERIAL_NUM(i.SERIAL_NUMBER)=msn.SERIAL_NUMBER

    Here is the process I did. My oim version is 9.1.0.2
    1) Created java program in IBM RAD and compiled it.
    2) Created jar file using jar -cvfm class-files command.
    3) Copied the jar file to javatasks folder.
    4) Tried to use this jar in adapter then got "Failed because null" and sometimes "Server could not load class" messages. most of the time i am getting "failed because null" message.
    Compiled using javac command also without using this tool and created still no luck....

  • Using NVL function in Dynamic SQL

    Hi ,
    I have created a procedure using the Dynamic SqL and while using the NVL() getting the following error . ORA-00936: missing expression.
    The query I have written as
    SQL_Txt:=' INSERT INTO VF.tblCData (A, B, C, D, E, F,G,H,I,J)
         SELECT '||l_A||',
         '||l_B||',
         '||l_C||',
              '||l_D||',
              NULL ,
              '||L_F||',
              NVL('||Param1||',''''),
              NVL('||Param2||',''''),
              NVL('||Param3||',''''),
              NULL
              FROM '||ParamTbl1||' WHERE ' ;
    and so on.
    For Param1 I have data for one execution and Param2 and Param3 is null for that execution.
    While executing the same I am getting below
    INSERT INTO VF.tblCData (A, B, C, D, E, F,G,H,I,J)
    SELECT 25,
         1,
         7,
              6,
              NULL ,
              5,
              NVL(PurchaseDate,''),
              NVL(,''),
              NVL(,''),
              NULL
              FROM xyz.PBuyer@pocdb WHERE
    and error ORA-00936: missing expression is popping up for Param2 and Param3 NVL(,'')
    Any suggestion to resolve this issue is highly appreciable.
    Thanks
    Sudipta

    NVL(,''),Where's the first argument to NVL? That's the obvious problem. Empty strings are NULL in Oracle anyway, so just lose the NVL and insert the values...
    C:\>                                                                        
    C:\>sqlplus hr/hr                                                           
    SQL*Plus: Release 11.2.0.3.0 Production on Wed May 8 10:08:53 2013          
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.                     
    Connected to:                                                               
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> set NULL I_AM_NULL                                                     
    SQL> create table x(y varchar2(20));                                        
    Table created.                                                              
    SQL> insert into x values ('');                                             
    1 row created.                                                              
    SQL> select * from x;                                                       
    Y                                                                           
    I_AM_NULL                                                                   
    SQL>                                                                        

  • How to use document() function in PL/SQL XSLT parser ?

    The "XDB Developers Guide" documentation says on page 12-18
    >
    The application can use DBUriType objects:
    To make references, such as import or include, to related XSL stylesheets. You can encode these references within the XSL stylesheet itself.
    following this i added string like this to my stylesheet
    <xsl:apply-templates select="document('/ORADB/SCOTT/STYLESHEET_TAB/ROW[ID=1]/STYLESHEET/text()')" mode="include"/>
    <xsl:cinclude href="/ORADB/SCOTT/STYLESHEET_TAB/ROW[ID=1]/STYLESHEET/text()"/>
    But when XSLT processor reaches this, it fails.
    I also even tried like this
    <xsl:include href="/ORADB/SCOTT/STYLESHEET_TAB/ROW[ID=1]/STYLESHEET/text()"/>
    but result is the same ;(((
    Generally - is there ANY way XSLT processor can deal with stylesheet which contains
    DBURI references to another stylesheets stored in XMLTYPE columns ?
    I'm currently in charge to develop a content management system for a huge corporate site,
    so i'm VERY interested to know - does this feature really exists on Oracle 9.2 ?
    Please ansver ASAP.

    BTW: following this link
    xsl:include within XSL stylesheet stored in XMLType column
    i've encountered that this theme has been asked but none from Oracle staff has answered on it yet ;(((((((

  • Use percentage function in pl sql

    Hi,
    I want to get the employees that their salary are in top 13% of salaries.
    I learned in this forum that I can get the 10% of top salaries in HR schema by this query:
    WITH     got_tenth     AS
         SELECT     last_name, salary
         ,     NTILE (10) OVER (ORDER BY salary)     AS tenth
         FROM     hr.employees
    SELECT       last_name, salary
    FROM       got_tenth
    WHERE       tenth     = 10
    ORDER BY  salary     DESC
    ;Output:
    LAST_NAME                     SALARY
    King                           24000
    Kochhar                        17000
    De Haan                        17000
    Russell                        14000
    Partners                       13500
    Hartstein                      13000
    Greenberg                      12000
    Errazuriz                      12000
    Higgins                        12000
    Ozer                           11500There is no "TOP" keyword in Oracle.I wondered, What if I want to get, for example, the employees who are in the top 12% of the salaries? here we cannot use deciles (maybe we can but it won't be very nice).
    Thanks a lot to helpers

    CUME_DIST can help:
    http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions035.htm
    WITH  tbl  AS
      SELECT  last_name, salary
      ,  cume_dist() OVER (ORDER BY salary DESC)  AS cumulative_pcnt
      FROM  hr.employees
    SELECT *
    FROM tbl
    WHERE cumulative_pcnt <=0.12;Tie values always evaluate to the same cumulative distribution value, so if you need exact 12% of the rows you can add employee_id in the ORDER BY list.
    Edited by: 1006646 on 19.05.2013 10:14

  • Performance issue with using MAX function in pl/sql

    Hello All,
    We are having a performance issue with the below logic wherein MAX is being used in order to get the latest instance/record for a given input variable ( p_in_header_id).. the item_key is having the format as :
    p_in_header_id - <number generated from a sequence>
    This query to fetch even 1 record takes around 1 minutes 30 sec..could someone please help if there is a better way to form this logic & to improve performance in this case.
    We want to get the latest record for the item_key ( this we are getting using MAX (begin_date)) for a given p_in_header_id value.
    Query 1 :
    SELECT item_key FROM wf_items WHERE item_type = 'xxxxzzzz'
    AND SUBSTR (item_key, 1, INSTR (item_key, '-') - 1) =p_in_header_id
    AND root_activity ='START_REQUESTS'
    AND begin_date =
    (SELECT MAX (begin_date) FROM wf_items WHERE item_type = 'xxxxzzzz'
    AND root_activity ='START_REQUESTS'
    AND SUBSTR (item_key, 1, INSTR (item_key, '-') - 1) =p_in_header_id);
    Could someone please help us with this performance issue..we are really stuck because of this
    regards

    First of all Thanks to all gentlemen who replied ..many thanks ...
    Tried the ROW_NUMBER() option but still it is taking time...have given output for the query and tkprof results as well. Even when it doesn't fetch any record ( this is a valid cased because the input header id doesn't have any workflow request submitted & hence no entry in the wf_items table)..then also see the time it has taken.
    Looked at the RANK & DENSE_RANK options which were suggested..but it is still taking time..
    Any further suggestions or ideas as to how this could be resolved..
    SELECT 'Y', 'Y', ITEM_KEY
    FROM
    ( SELECT ITEM_KEY, ROW_NUMBER() OVER(ORDER BY BEGIN_DATE DESC) RN FROM
    WF_ITEMS WHERE ITEM_TYPE = 'xxxxzzzz' AND ROOT_ACTIVITY = 'START_REQUESTS'
    AND SUBSTR(ITEM_KEY,1,INSTR(ITEM_KEY,'-') - 1) = :B1
    ) T WHERE RN <= 1
    call count cpu elapsed disk query current rows
    Parse 0 0.00 0.00 0 0 0 0
    Execute 1 0.00 1.57 0 0 0 0
    Fetch 1 8700.00 544968.73 8180 8185 0 0
    total 2 8700.00 544970.30 8180 8185 0 0
    many thanks

  • WITHOUT USING ROW_NUMBER FUNCTIONS IN T-SQL

    INPUT:-
    CUST_ID
    GIFT_ID
    100
    10
    100
    20
    100
    30
    200
    10
    200
    20
    200
    30
    300
    20
    OUTPUT:-
    CUST_ID
    GIFT_ID
    SEQ
    100
    10
    1
    100
    20
    2
    100
    30
    3
    200
    10
    1
    200
    20
    2
    200
    30
    3
    300
    20
    1
    santoshbangalore

    THANK YOU SO MUCH FOR YOUR ANS? BUT MY INPUT TABLE A CONTAIN ONLY TWO COLUMN'S 
    CUST_ID,GIFT_ID
    AND IN OUT PUT I NEED THE ABOVE OUTPUT WITH 
    CUST_ID,GIFT_ID,ROW_NUMBER AS SHOWN ABOVE?
    santoshbangalore

  • How to execute SQL Script using windows powershell(using invoke-sqlcmd or any if)

    OS : Windows server 2008
    SQL Server : SQL Server 2012
    Script: Test.sql (T-SQL)  example : "select name from sys.databases"
    Batch script: windows  MyBatchscript.bat ( here connects to sql server using sqlcmd  and output c:\Testput.txt) 
     (sqlcmd.exe -S DBserverName -U username -P p@ssword -i C:\test.sql -o "c:\Testoutput.txt)  ---it working without any issues.....
    This can execute if i double click MyBatchscript.bat file and can see the output in c:\testput.txt.
    Powershell: Similarly, How can i do in powershell 2.0 or higher versions?  can any one give full details with each step?
    I found some of them online, but nowhere seen clear details or examples and it not executing through cmd line (or batch script).
    example: invoke-sqlcmd -Servernameinstance Servername -inputfile "c:\test.sql" | out-File -filepath "c:\psOutput.txt"  --(call this file name MyTest.ps1)
    (The above script working if i run manually. I want to run automatic like double click (or schedule with 3rd party tool/scheduler ) in Batch file and see the output in C drive(c:\psOutput.txt))
    Can anyone Powershell experts give/suggest full details/steps for this. How to proceed? Is there any configurations required to run automatic?
    Thanks in advance.

    Testeted the following code and it's working.....thanks all.
    Execute sql script using invoke-sqlcmd with batch script and without batch script.
    Option1: using Import sqlps
    1.Save sql script as "C:\scripts\Test.sql"  script in side Test.sql: select name from sys.databases
    2.Save Batch script as "C:\scripts\MyTest.bat" Script inside Batch script:
    powershell.exe C:\scripts\mypowershell.ps1
    3.Save powershell script as "C:\scripts\mypowershell.ps1"
    import-module "sqlps" -DisableNameChecking
    invoke-sqlcmd -Servername ServerName -inputFile "C:\scripts\Test.sql" | out-File -filepath "C:\scripts\TestOutput.txt"
    4.Run the Batch script commandline or double click then can able to see the output "C:\scripts\TestOutput.txt" file.
    5.Connect to current scripts location  cd C:\scripts (enter)
    C:\scripts\dir (enter )
    C:\scripts\MyTest.bat (enter)
    Note: can able to see the output in "C:\scripts" location as file name "TestOutput.txt".
    Option2: Otherway, import sqlps and execution
    1.Save sql script as "C:\scripts\Test.sql"  script in side Test.sql: select name from sys.databases
    2.Save powershell script as "C:\scripts\mypowershell.ps1"
    # import-module "sqlps" -DisableNameChecking #...Here it not required.
    invoke-sqlcmd -Servername ServerName -inputFile "C:\scripts\Test.sql" | out-File -filepath "C:\scripts\TestOutput.txt"
    3.Connect to current scripts location
    cd C:\scripts (enter)
    C:\scripts\dir (enter )
    C:\scripts\powershell.exe sqlps C:\scripts\mypowershell.ps1 (enter)
    Note: can able to see the output in "C:\scripts" location as file name "TestOutput.txt".

  • Error while install sql server 2012 using powershell

    hello all,
    I am using below function to install sql server and its not working  can some one help me please 
    Function Install-Sql2012
    param
    [Parameter()][string]  $Path ,#= (read-host "Enter Installation Binary Path"),
            [Parameter()][string]  $AddSSIS= (read-host "Do u need SSIS Enter 1 for yes o for no") ,
            [Parameter()][string]  $AddSSRS= (read-host "Do u need SSRS Enter 1 for yes o for no") ,
    [Parameter()][string]  $InstanceName = (read-host "Enter Instance name"),
    [Parameter()][string]  $ServiceAccount= (read-host "Enter Service Account"),
    [Parameter()][string]  $ServicePassword= (read-host -assecurestring "Enter Service Account Password") ,
    [Parameter()][string]  $AgentAccount=(read-host "Enter Agent Account"),
    [Parameter()][string]  $AgentPassword=(read-host "Enter Agent pasword"),
            [Parameter()][string]  $Backuppath= (read-host "Enter Backuppath"),
    [Parameter()][string]  $SaPassword= (read-host -assecurestring "Enter SA Account Passowrd"),
            [Parameter()][string]  $SQLTEMPDBDIR= (read-host  "Enter TempDir"),
            [Parameter()][string]  $SQLUSERDBDIR= (read-host  "Enter User Data Directory"),
            [Parameter()][string]  $SQLUSERDBLOGDIR= (read-host  "Enter User Log Directory"),
    #[Parameter(Position=5,Mandatory=$false)][string] $LicenseKey,
    [Parameter()][string]  $SqlCollation = "SQL_Latin1_General_CP1_CI_AS",
    [Parameter()][switch]  $NoTcp,
    [Parameter()][switch]  $NoNamedPipes
    #Build the setup command using the install mode
    if ($Path -eq $null -or $Path -eq "")
    #No path means that the setup is in the same folder
    $command = '.\setup.exe /Action="Install"'
    else
    #Ensure that the path ends with a backslash
    if(!$Path.EndsWith("\"))
    $Path += "\"
    $command = $path + 'setup.exe /Action="Install"'
    #Accept the license agreement - required for command line installs
    $command += ' /IACCEPTSQLSERVERLICENSETERMS'
    #Use the QuietSimple mode (progress bar, but not interactive)
    $command += ' /QS'
    #Set the features to be installed
    #$command += ' /FEATURES=SQLENGINE,CONN,BC,SSMS,ADV_SSMS'
        If ($AddSSIS -ne '0' -and $AddSSIS -ne '1') {
            throw 'Invalid input. Enter a valid value for SSIS.'
        If ($AddSSRS -ne '0' -and $AddSSRS -ne '1') {
            throw 'Invalid input. Enter a valid value for SSRS.'
       if ($AddSSIS -eq 1 -and $AddSSRS -eq 1)
           $command += ' /FEATURES=SQLENGINE,CONN,BC,SSMS,ADV_SSMS,SSIS,SSRS'
       if ($AddSSIS -eq 1 -and $AddSSRS -eq 0)
       $command += ' /FEATURES=SQLENGINE,CONN,BC,SSMS,ADV_SSMS,SSIS'
       if ($AddSSIS -eq 0 -and $AddSSRS -eq 1)
       $command += ' /FEATURES=SQLENGINE,CONN,BC,SSMS,ADV_SSMS,SSRS'
       if  ($AddSSIS -eq 0 -and $AddSSRS -eq 0)
       $command += ' /FEATURES=SQLENGINE,CONN,BC,SSMS,ADV_SSMS'
    #Set the Instance Name
    $command += (' /INSTANCENAME="{0}"' -f $InstanceName)
    #remove Set the License Key only if a value was provided, otherwise install Evaluation edition
    #if ($LicenseKey -ne $null -and $LicenseKey -ne "")
    # $command += (' /PID="{0}"' -f $LicenseKey)
        #set reporting to off
        $command += ('/SQMREPORTING="0"')
        #Add Browser Account 
        $command +=('/BROWSERSVCSTARTUPTYPE="Disabled"')
        #Add Backup path 
        $command +=('/SQLBACKUPDIR="{0}"' -f $backuppath)
    #Check to see if a service account was specified
    if ($ServiceAccount -ne $null -and $ServiceAccount -ne "")
    #Set the database engine service account
    $command += (' /SQLSVCACCOUNT="{0}" /SQLSVCPASSWORD="{1}" /SQLSVCSTARTUPTYPE="Automatic"' -f $ServiceAccount, $ServicePassword)
    #Set the SQL Agent service account
    $command += (' /AGTSVCACCOUNT="{0}" /AGTSVCPASSWORD="{1}" /AGTSVCSTARTUPTYPE="Automatic"' -f $AgentAccount, $AgentPassword)
    else
    #Set the database engine service account to Local System
    $command += ' /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSVCSTARTUPTYPE="Automatic"'
    #Set the SQL Agent service account to Local System
    $command += ' /AGTSVCACCOUNT="NT AUTHORITY\SYSTEM" /AGTSVCSTARTUPTYPE="Automatic"'
    #Set the server in SQL authentication mode if an SA password was provided
    if ($SaPassword -ne $null -and $SaPassword -ne "")
    $command += (' /SECURITYMODE="SQL" /SAPWD="{0}"' -f $SaPassword)
    #Add current user as SysAdmin
    $command += (' /SQLSYSADMINACCOUNTS="test\ADMIN"')
        #Add Tempdbdata path
    $command += (' /SQLTEMPDBDIR="{0}"' -f $SQLTEMPDBDIR)
        #Add Tempdblog path
        $command += (' /SQLTEMPDBLOGDIR="{0}"' -f $SQLTEMPDBDIR)
         #Add UserDBdata path
        $command += (' /SQLUSERDBDIR="{0}"' -f $SQLUSERDBDIR)
         #Add UserDBlog path
        $command += (' /SQLUSERDBLOGDIR="{0}"' -f $SQLUSERDBLOGDIR)
    #Set the database collation
    $command += (' /SQLCOLLATION="{0}"' -f $SqlCollation)
    #Enable/Disable the TCP Protocol
    if ($NoTcp)
    $command += ' /TCPENABLED="0"'
    else
    $command += ' /TCPENABLED="1"'
    #Enable/Disable the Named Pipes Protocol
    if ($NoNamedPipes)
    $command += ' /NPENABLED="0"'
    else
    $command += ' /NPENABLED="1"'
    if ($PSBoundParameters['Debug']) 
    Write-Output $command
    else
    Invoke-Expression $command
    Install-Sql2012
    Below is the error i am getting 
    PS C:\temp\in> .\Install-Sql2012.ps1
    Do u need SSIS Enter 1 for yes o for no: 0
    Do u need SSRS Enter 1 for yes o for no: 0
    Enter Instance name: MSSQLSERVER
    Enter Service Account:
    Enter Service Account Password:
    Enter Agent Account:
    Enter Agent pasword:
    Enter Backuppath: "C:\Temp\IN\bck"
    Enter SA Account Passowrd: **********
    Enter TempDir: "C:\Temp\IN\bck"
    Enter User Data Directory: "C:\Temp\IN\bck"
    Enter User Log Directory: "C:\Temp\IN\bck"
    Microsoft (R) SQL Server 2012 11.00.2100.60
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The following error occurred:
    Instance name is limited to 16 characters. Yours 'MSSQLSERVER/SQMREPORTING=0/BROWSERSVCSTARTUPTYPE=DISABLED/SQLBACKUPDIR=C:\TEMP\IN\BCK' is 85.
    Error result: -2054422513
    Result facility code: 1420
    Result error code: 15
    Please review the summary.txt log for further details
    Thanks,
    Ashwin.
        

    Line 94, 97 and 100 appear to not have spaces at the beginning of each string, which could cause some issues:
    #set reporting to off
    $command += ('/SQMREPORTING="0"')
    #Add Browser Account
    $command +=('/BROWSERSVCSTARTUPTYPE="Disabled"')
    #Add Backup path
    $command +=('/SQLBACKUPDIR="{0}"' -f $backuppath)
    Probably should be this:
    #set reporting to off
    $command += (' /SQMREPORTING="0"')
    #Add Browser Account
    $command +=(' /BROWSERSVCSTARTUPTYPE="Disabled"')
    #Add Backup path
    $command +=(' /SQLBACKUPDIR="{0}"' -f $backuppath)
    Boe Prox
    Blog |
    Twitter
    PoshWSUS |
    PoshPAIG | PoshChat |
    PoshEventUI
    PowerShell Deep Dives Book

  • Using cursor function in sql statement

    hi all
    can anyone plss explain why and when we will use cursor function in a sql statement like this and what is the difference while executing this sql statement with cursor function in comparison of a simple sql statement----
    select
    department_name,
    cursor (
    select last_name
    from employees e
    where e.department_id = d.department_id
    order by last_name
    ) the_employees
    from departments d
    thnx in advance

    RTFM
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/sqloperations.htm#sthref1452
    Cheers
    Sarma.

Maybe you are looking for

  • Inbound email configuration is not working in SAP CRM 7.0

    We have issue with the Inbound mail in SAP CRM 7.0, the emails from external ID (eg *@gmail.com) unable to receive in SAP Mailbox. SMTP Settings as per the note : 455140 have been done and its working fine, we are able to send email from SAP to exter

  • What defrag program should I use

    What is the best free defrag program I can use

  • Ipad disabled after wrong password, is there a reset option?

    Our iPad 2 (running iOS 7) is disabled, after six attempts at the password which had been changed 24 hours earlier, it appears to be permanently disabled. I have work files in apps that were not backed up, is there anyway to recover from this stage? 

  • Oracle licensing on Financials

    Hi All Can u all let me know how the oracle charges lecensing charges for its products specially (Financials) Do they charge for the number of oracle users created in the application? I found a document in the internet which says that the METRIC is A

  • Error message rendered into the final output render

    I am getting the image below after I render in SpeedGrade on every other frame. It happens often and the only way to fix is to re-launch SpeedGrade and render again hoping for the best. Sometimes it's fine and then I get the warning again. Any ideas