Month: July 2024
Optimize your cloud journey with Azure pricing
Optimize your cloud investments by choosing the pricing offers that best meet your needs, paying only for what you use, and managing your cloud spend as your business evolves, whether you’re migrating your first workload or fine-tuning complex deployments.
Manage and optimize your Azure investments
Microsoft Tech Community – Latest Blogs –Read More
sltest.harness.create function input ‘source’ can’t be set ‘Signal Builder’ in parameter pairs in matlab 2022b
sltest.harness.create(‘Harness_Test’,’Source’,’Signal editor’,’Sink’,’Outport’);
error:
Expected input to match one of these values:
‘Inport’, ‘Signal Editor’, ‘From Workspace’, ‘From File’, ‘Test Sequence’, ‘Chart’, ‘Constant’, ‘Ground’, ‘None’, ‘Custom’
The input, ‘Signal Builder’, did not match any of the valid values.
This means I can’t assign ‘Signal Builder’ to ‘Source’, matlab version is 2022b, but there is no error in 2022a(Tested many times).
Is this issue related to matlab version and how to solve it? Still need to use ‘Signal Builder’.sltest.harness.create(‘Harness_Test’,’Source’,’Signal editor’,’Sink’,’Outport’);
error:
Expected input to match one of these values:
‘Inport’, ‘Signal Editor’, ‘From Workspace’, ‘From File’, ‘Test Sequence’, ‘Chart’, ‘Constant’, ‘Ground’, ‘None’, ‘Custom’
The input, ‘Signal Builder’, did not match any of the valid values.
This means I can’t assign ‘Signal Builder’ to ‘Source’, matlab version is 2022b, but there is no error in 2022a(Tested many times).
Is this issue related to matlab version and how to solve it? Still need to use ‘Signal Builder’. sltest.harness.create(‘Harness_Test’,’Source’,’Signal editor’,’Sink’,’Outport’);
error:
Expected input to match one of these values:
‘Inport’, ‘Signal Editor’, ‘From Workspace’, ‘From File’, ‘Test Sequence’, ‘Chart’, ‘Constant’, ‘Ground’, ‘None’, ‘Custom’
The input, ‘Signal Builder’, did not match any of the valid values.
This means I can’t assign ‘Signal Builder’ to ‘Source’, matlab version is 2022b, but there is no error in 2022a(Tested many times).
Is this issue related to matlab version and how to solve it? Still need to use ‘Signal Builder’. sltest.harness.create MATLAB Answers — New Questions
How do I solve this error in Parameter Setting for 2-D Lookup Table Block in Simulink?
I’m trying to create a surrogate model for vehicle dynamics in Simulink, but I’m encountering an error when setting parameters for the 2-D Lookup Table block. I would greatly appreciate any advice.
When executing the following code, this error occurs.
set_param([modelName ‘/SurrogateModel’], …
‘RowIndex’, mat2str(throttleBreakpoints), …
‘ColumnIndex’, mat2str(brakeBreakpoints), …
‘Table’, mat2str(speedData));
Error message:
There is no parameter named ‘RowIndex’ in the Lookup_n-D block
I can’t figure out how I can solve this kind of error.
I was wondering if you could give me a solution.
How should I modify the code?
Here is my matlab script to create the surrogate model.
Full Script
% Create a surrogate model for vehicle longitudinal dynamics
% Set model name
modelName = ‘VehicleLongitudinalSurrogate’;
% Create new Simulink model
new_system(modelName);
open_system(modelName);
% Input: Throttle position (0-100%)
add_block(‘simulink/Sources/In1’, [modelName ‘/Throttle’]);
set_param([modelName ‘/Throttle’], ‘Position’, [100, 100, 130, 130]);
% Input: Brake pressure (0-100%)
add_block(‘simulink/Sources/In1’, [modelName ‘/Brake’]);
set_param([modelName ‘/Brake’], ‘Position’, [100, 200, 130, 230]);
% Surrogate model (Lookup table)
add_block(‘simulink/Lookup Tables/2-D Lookup Table’, [modelName ‘/SurrogateModel’]);
set_param([modelName ‘/SurrogateModel’], ‘Position’, [250, 140, 350, 190]);
% Output: Vehicle speed (km/h)
add_block(‘simulink/Sinks/Out1’, [modelName ‘/Speed’]);
set_param([modelName ‘/Speed’], ‘Position’, [450, 160, 480, 190]);
% Connect blocks
add_line(modelName, ‘Throttle/1’, ‘SurrogateModel/1’, ‘autorouting’, ‘on’);
add_line(modelName, ‘Brake/1’, ‘SurrogateModel/2’, ‘autorouting’, ‘on’);
add_line(modelName, ‘SurrogateModel/1’, ‘Speed/1’, ‘autorouting’, ‘on’);
% Set lookup table parameters (simplified data)
throttleBreakpoints = 0:20:100;
brakeBreakpoints = 0:20:100;
speedData = [
120, 100, 80, 60, 40, 20;
100, 80, 60, 40, 20, 0;
80, 60, 40, 20, 0, 0;
60, 40, 20, 0, 0, 0;
40, 20, 0, 0, 0, 0;
20, 0, 0, 0, 0, 0
];
% Set parameters (this is where the error occurs)
set_param([modelName ‘/SurrogateModel’], …
‘RowIndex’, mat2str(throttleBreakpoints), …
‘ColumnIndex’, mat2str(brakeBreakpoints), …
‘Table’, mat2str(speedData));
% Save and close the model
save_system(modelName, [modelName ‘.slx’]);
close_system(modelName);
disp(‘Vehicle longitudinal dynamics surrogate model has been created and saved.’);
Best,I’m trying to create a surrogate model for vehicle dynamics in Simulink, but I’m encountering an error when setting parameters for the 2-D Lookup Table block. I would greatly appreciate any advice.
When executing the following code, this error occurs.
set_param([modelName ‘/SurrogateModel’], …
‘RowIndex’, mat2str(throttleBreakpoints), …
‘ColumnIndex’, mat2str(brakeBreakpoints), …
‘Table’, mat2str(speedData));
Error message:
There is no parameter named ‘RowIndex’ in the Lookup_n-D block
I can’t figure out how I can solve this kind of error.
I was wondering if you could give me a solution.
How should I modify the code?
Here is my matlab script to create the surrogate model.
Full Script
% Create a surrogate model for vehicle longitudinal dynamics
% Set model name
modelName = ‘VehicleLongitudinalSurrogate’;
% Create new Simulink model
new_system(modelName);
open_system(modelName);
% Input: Throttle position (0-100%)
add_block(‘simulink/Sources/In1’, [modelName ‘/Throttle’]);
set_param([modelName ‘/Throttle’], ‘Position’, [100, 100, 130, 130]);
% Input: Brake pressure (0-100%)
add_block(‘simulink/Sources/In1’, [modelName ‘/Brake’]);
set_param([modelName ‘/Brake’], ‘Position’, [100, 200, 130, 230]);
% Surrogate model (Lookup table)
add_block(‘simulink/Lookup Tables/2-D Lookup Table’, [modelName ‘/SurrogateModel’]);
set_param([modelName ‘/SurrogateModel’], ‘Position’, [250, 140, 350, 190]);
% Output: Vehicle speed (km/h)
add_block(‘simulink/Sinks/Out1’, [modelName ‘/Speed’]);
set_param([modelName ‘/Speed’], ‘Position’, [450, 160, 480, 190]);
% Connect blocks
add_line(modelName, ‘Throttle/1’, ‘SurrogateModel/1’, ‘autorouting’, ‘on’);
add_line(modelName, ‘Brake/1’, ‘SurrogateModel/2’, ‘autorouting’, ‘on’);
add_line(modelName, ‘SurrogateModel/1’, ‘Speed/1’, ‘autorouting’, ‘on’);
% Set lookup table parameters (simplified data)
throttleBreakpoints = 0:20:100;
brakeBreakpoints = 0:20:100;
speedData = [
120, 100, 80, 60, 40, 20;
100, 80, 60, 40, 20, 0;
80, 60, 40, 20, 0, 0;
60, 40, 20, 0, 0, 0;
40, 20, 0, 0, 0, 0;
20, 0, 0, 0, 0, 0
];
% Set parameters (this is where the error occurs)
set_param([modelName ‘/SurrogateModel’], …
‘RowIndex’, mat2str(throttleBreakpoints), …
‘ColumnIndex’, mat2str(brakeBreakpoints), …
‘Table’, mat2str(speedData));
% Save and close the model
save_system(modelName, [modelName ‘.slx’]);
close_system(modelName);
disp(‘Vehicle longitudinal dynamics surrogate model has been created and saved.’);
Best, I’m trying to create a surrogate model for vehicle dynamics in Simulink, but I’m encountering an error when setting parameters for the 2-D Lookup Table block. I would greatly appreciate any advice.
When executing the following code, this error occurs.
set_param([modelName ‘/SurrogateModel’], …
‘RowIndex’, mat2str(throttleBreakpoints), …
‘ColumnIndex’, mat2str(brakeBreakpoints), …
‘Table’, mat2str(speedData));
Error message:
There is no parameter named ‘RowIndex’ in the Lookup_n-D block
I can’t figure out how I can solve this kind of error.
I was wondering if you could give me a solution.
How should I modify the code?
Here is my matlab script to create the surrogate model.
Full Script
% Create a surrogate model for vehicle longitudinal dynamics
% Set model name
modelName = ‘VehicleLongitudinalSurrogate’;
% Create new Simulink model
new_system(modelName);
open_system(modelName);
% Input: Throttle position (0-100%)
add_block(‘simulink/Sources/In1’, [modelName ‘/Throttle’]);
set_param([modelName ‘/Throttle’], ‘Position’, [100, 100, 130, 130]);
% Input: Brake pressure (0-100%)
add_block(‘simulink/Sources/In1’, [modelName ‘/Brake’]);
set_param([modelName ‘/Brake’], ‘Position’, [100, 200, 130, 230]);
% Surrogate model (Lookup table)
add_block(‘simulink/Lookup Tables/2-D Lookup Table’, [modelName ‘/SurrogateModel’]);
set_param([modelName ‘/SurrogateModel’], ‘Position’, [250, 140, 350, 190]);
% Output: Vehicle speed (km/h)
add_block(‘simulink/Sinks/Out1’, [modelName ‘/Speed’]);
set_param([modelName ‘/Speed’], ‘Position’, [450, 160, 480, 190]);
% Connect blocks
add_line(modelName, ‘Throttle/1’, ‘SurrogateModel/1’, ‘autorouting’, ‘on’);
add_line(modelName, ‘Brake/1’, ‘SurrogateModel/2’, ‘autorouting’, ‘on’);
add_line(modelName, ‘SurrogateModel/1’, ‘Speed/1’, ‘autorouting’, ‘on’);
% Set lookup table parameters (simplified data)
throttleBreakpoints = 0:20:100;
brakeBreakpoints = 0:20:100;
speedData = [
120, 100, 80, 60, 40, 20;
100, 80, 60, 40, 20, 0;
80, 60, 40, 20, 0, 0;
60, 40, 20, 0, 0, 0;
40, 20, 0, 0, 0, 0;
20, 0, 0, 0, 0, 0
];
% Set parameters (this is where the error occurs)
set_param([modelName ‘/SurrogateModel’], …
‘RowIndex’, mat2str(throttleBreakpoints), …
‘ColumnIndex’, mat2str(brakeBreakpoints), …
‘Table’, mat2str(speedData));
% Save and close the model
save_system(modelName, [modelName ‘.slx’]);
close_system(modelName);
disp(‘Vehicle longitudinal dynamics surrogate model has been created and saved.’);
Best, simulink, matlab code MATLAB Answers — New Questions
Speed up numeric integral
Hi,everyone.I got a problem of doing numeric integral on the matrix H (which is at the bottom part of my code).
The code works fine but I would like to speed it up? Am I doing something stupid to make it slow?Thanks for your help.
clear
L=0.1;
section=50;
a=L./2;
b=L./section;
v=3e8;
f1=1.2e9;
f2=4.8e9;
f3=7.5e9;
f4=10e9;
w1=(2.*pi.*f1);
w2=(2.*pi.*f2);
w3=(2.*pi.*f3);
w4=(2.*pi.*f4);
Z01=50;
Z02=75;
a0=(log(Z02./Z01))./(2..*L);
T=a;
Ub=a;
Lb=-a;
ub=a;
lb=-a;
k=5;
syms x y w m
%%% Revised Algorithm
l=0:(2.*L)./(2.*k):L % Approximate sections dvided
% Approximate terms
sec=numel(l)-1;
Z1=[50 55 60 65 70 80 75]; % Set the impedance of the end of each sections
ac=10; % Choose the accuracy of dividing a section
for s=1:1:sec
c=(l(s+1)-l(s))./ac;
app_cos=0.5./ac.*log(Z1(s+1)./Z1(s)).*sin(ac./2.*(w./v).*c).*cos(((ac+1)./2).*(w./v).*c)./sin(((c.*w)./(2.*v)));
app_sin=0.5./ac.*log(Z1(s+1)./Z1(s)).*sin(ac./2.*(w./v).*c).*sin(((ac+1)./2).*(w./v).*c)./sin(((c.*w)./(2.*v)));
amp=0.75;
Ga(s)=(app_cos-(1i.*amp.*app_sin));
end
Ta=(1-(abs(Ga(1:1:end)).^2));
%%% Turn closed loop terms into matrix presentation
for t=1:1:sec
for r=1:1:sec
E(t,r)=Ga(t).*Ga(r);
end
end
E=triu(E,1);
for t=1:1:sec
for r=1:1:sec
D(t,r)=abs(E(r,t));
end
end
C1=sum(D);
% Construct approximate loop terms
for t=1:1:sec
D1(t)=prod(Ta(1:t))./(1+(sum(C1(1:t))));
end
D=[1 D1(2:end)];
Dm=transpose(D).*D;
% Cmn
m=transpose(1:5);
n=1:5;
g=(v.^2.*w.^2.*cos((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*m.*x).*cos(20.*sym(pi).*n.*y) + 10.*sym(pi).*m.*v.^3.*w.*sin(20.*sym(pi).*m.*x).*sin((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*n.*y) – 10.*sym(pi).*n.*v.^3.*w.*sin(20.*sym(pi).*n.*y).*sin((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*m.*x) + 100.*m.*n.*v.^4.*sym(pi).^2.*sin(20.*sym(pi).*m.*x).*sin(20.*sym(pi).*n.*y).*cos((2.*w.*(- y + x))./v))./(4.*(w.^2 – 100.*sym(pi).^2.*m.^2.*v.^2).*(w.^2 – 100.*sym(pi).^2.*n.^2.*v.^2));
for p=1:numel(l)-1
x1=l(p);
x2=l(p+1);
for q=1:numel(l)-1
y1=l(q);
y2=l(p+1);
Ht{p,q}=matlabFunction(((subs(g,[x y],[x2 y2])-subs(g,[x y],[x1 y1]))*Dm(p,q)));
end
end
Hi=Ht{1};
for m=2:1:numel(Ht)
Hi=Hi+vpa(Ht{m},3);
end
H=integral(Hi,w1,w2,"ArrayValued",true)Hi,everyone.I got a problem of doing numeric integral on the matrix H (which is at the bottom part of my code).
The code works fine but I would like to speed it up? Am I doing something stupid to make it slow?Thanks for your help.
clear
L=0.1;
section=50;
a=L./2;
b=L./section;
v=3e8;
f1=1.2e9;
f2=4.8e9;
f3=7.5e9;
f4=10e9;
w1=(2.*pi.*f1);
w2=(2.*pi.*f2);
w3=(2.*pi.*f3);
w4=(2.*pi.*f4);
Z01=50;
Z02=75;
a0=(log(Z02./Z01))./(2..*L);
T=a;
Ub=a;
Lb=-a;
ub=a;
lb=-a;
k=5;
syms x y w m
%%% Revised Algorithm
l=0:(2.*L)./(2.*k):L % Approximate sections dvided
% Approximate terms
sec=numel(l)-1;
Z1=[50 55 60 65 70 80 75]; % Set the impedance of the end of each sections
ac=10; % Choose the accuracy of dividing a section
for s=1:1:sec
c=(l(s+1)-l(s))./ac;
app_cos=0.5./ac.*log(Z1(s+1)./Z1(s)).*sin(ac./2.*(w./v).*c).*cos(((ac+1)./2).*(w./v).*c)./sin(((c.*w)./(2.*v)));
app_sin=0.5./ac.*log(Z1(s+1)./Z1(s)).*sin(ac./2.*(w./v).*c).*sin(((ac+1)./2).*(w./v).*c)./sin(((c.*w)./(2.*v)));
amp=0.75;
Ga(s)=(app_cos-(1i.*amp.*app_sin));
end
Ta=(1-(abs(Ga(1:1:end)).^2));
%%% Turn closed loop terms into matrix presentation
for t=1:1:sec
for r=1:1:sec
E(t,r)=Ga(t).*Ga(r);
end
end
E=triu(E,1);
for t=1:1:sec
for r=1:1:sec
D(t,r)=abs(E(r,t));
end
end
C1=sum(D);
% Construct approximate loop terms
for t=1:1:sec
D1(t)=prod(Ta(1:t))./(1+(sum(C1(1:t))));
end
D=[1 D1(2:end)];
Dm=transpose(D).*D;
% Cmn
m=transpose(1:5);
n=1:5;
g=(v.^2.*w.^2.*cos((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*m.*x).*cos(20.*sym(pi).*n.*y) + 10.*sym(pi).*m.*v.^3.*w.*sin(20.*sym(pi).*m.*x).*sin((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*n.*y) – 10.*sym(pi).*n.*v.^3.*w.*sin(20.*sym(pi).*n.*y).*sin((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*m.*x) + 100.*m.*n.*v.^4.*sym(pi).^2.*sin(20.*sym(pi).*m.*x).*sin(20.*sym(pi).*n.*y).*cos((2.*w.*(- y + x))./v))./(4.*(w.^2 – 100.*sym(pi).^2.*m.^2.*v.^2).*(w.^2 – 100.*sym(pi).^2.*n.^2.*v.^2));
for p=1:numel(l)-1
x1=l(p);
x2=l(p+1);
for q=1:numel(l)-1
y1=l(q);
y2=l(p+1);
Ht{p,q}=matlabFunction(((subs(g,[x y],[x2 y2])-subs(g,[x y],[x1 y1]))*Dm(p,q)));
end
end
Hi=Ht{1};
for m=2:1:numel(Ht)
Hi=Hi+vpa(Ht{m},3);
end
H=integral(Hi,w1,w2,"ArrayValued",true) Hi,everyone.I got a problem of doing numeric integral on the matrix H (which is at the bottom part of my code).
The code works fine but I would like to speed it up? Am I doing something stupid to make it slow?Thanks for your help.
clear
L=0.1;
section=50;
a=L./2;
b=L./section;
v=3e8;
f1=1.2e9;
f2=4.8e9;
f3=7.5e9;
f4=10e9;
w1=(2.*pi.*f1);
w2=(2.*pi.*f2);
w3=(2.*pi.*f3);
w4=(2.*pi.*f4);
Z01=50;
Z02=75;
a0=(log(Z02./Z01))./(2..*L);
T=a;
Ub=a;
Lb=-a;
ub=a;
lb=-a;
k=5;
syms x y w m
%%% Revised Algorithm
l=0:(2.*L)./(2.*k):L % Approximate sections dvided
% Approximate terms
sec=numel(l)-1;
Z1=[50 55 60 65 70 80 75]; % Set the impedance of the end of each sections
ac=10; % Choose the accuracy of dividing a section
for s=1:1:sec
c=(l(s+1)-l(s))./ac;
app_cos=0.5./ac.*log(Z1(s+1)./Z1(s)).*sin(ac./2.*(w./v).*c).*cos(((ac+1)./2).*(w./v).*c)./sin(((c.*w)./(2.*v)));
app_sin=0.5./ac.*log(Z1(s+1)./Z1(s)).*sin(ac./2.*(w./v).*c).*sin(((ac+1)./2).*(w./v).*c)./sin(((c.*w)./(2.*v)));
amp=0.75;
Ga(s)=(app_cos-(1i.*amp.*app_sin));
end
Ta=(1-(abs(Ga(1:1:end)).^2));
%%% Turn closed loop terms into matrix presentation
for t=1:1:sec
for r=1:1:sec
E(t,r)=Ga(t).*Ga(r);
end
end
E=triu(E,1);
for t=1:1:sec
for r=1:1:sec
D(t,r)=abs(E(r,t));
end
end
C1=sum(D);
% Construct approximate loop terms
for t=1:1:sec
D1(t)=prod(Ta(1:t))./(1+(sum(C1(1:t))));
end
D=[1 D1(2:end)];
Dm=transpose(D).*D;
% Cmn
m=transpose(1:5);
n=1:5;
g=(v.^2.*w.^2.*cos((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*m.*x).*cos(20.*sym(pi).*n.*y) + 10.*sym(pi).*m.*v.^3.*w.*sin(20.*sym(pi).*m.*x).*sin((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*n.*y) – 10.*sym(pi).*n.*v.^3.*w.*sin(20.*sym(pi).*n.*y).*sin((2.*w.*(- y + x))./v).*cos(20.*sym(pi).*m.*x) + 100.*m.*n.*v.^4.*sym(pi).^2.*sin(20.*sym(pi).*m.*x).*sin(20.*sym(pi).*n.*y).*cos((2.*w.*(- y + x))./v))./(4.*(w.^2 – 100.*sym(pi).^2.*m.^2.*v.^2).*(w.^2 – 100.*sym(pi).^2.*n.^2.*v.^2));
for p=1:numel(l)-1
x1=l(p);
x2=l(p+1);
for q=1:numel(l)-1
y1=l(q);
y2=l(p+1);
Ht{p,q}=matlabFunction(((subs(g,[x y],[x2 y2])-subs(g,[x y],[x1 y1]))*Dm(p,q)));
end
end
Hi=Ht{1};
for m=2:1:numel(Ht)
Hi=Hi+vpa(Ht{m},3);
end
H=integral(Hi,w1,w2,"ArrayValued",true) integral MATLAB Answers — New Questions
How to import JPK force maps?
Hello,
I am trying to import force maps data from JPK and I could not find any clue on how to begin. Could anyone help me with how I could import raw data from force map files? Any hints and ideas are appriciated. My plan is to fit the data myself in Matlab as the available programs do not offer good fitting methods. I have compressed a JPK force map file in .zip, so I could attach it here.Hello,
I am trying to import force maps data from JPK and I could not find any clue on how to begin. Could anyone help me with how I could import raw data from force map files? Any hints and ideas are appriciated. My plan is to fit the data myself in Matlab as the available programs do not offer good fitting methods. I have compressed a JPK force map file in .zip, so I could attach it here. Hello,
I am trying to import force maps data from JPK and I could not find any clue on how to begin. Could anyone help me with how I could import raw data from force map files? Any hints and ideas are appriciated. My plan is to fit the data myself in Matlab as the available programs do not offer good fitting methods. I have compressed a JPK force map file in .zip, so I could attach it here. afm, jpk, force maps, import jpk force maps MATLAB Answers — New Questions
How to Delete Duplicate Phone Link Notifications
Hello,
I’ve encountered persistent problems with the Phone Link app on Windows 11, leading me to delete and re-add my phone multiple times. The app stopped displaying the messages I received, despite previously working without issues.
Upon reviewing Settings>System>Notifications, I found duplicated entries for Phone notifications.
Is there a method to eliminate these duplicates?
Thank you
Hello,I’ve encountered persistent problems with the Phone Link app on Windows 11, leading me to delete and re-add my phone multiple times. The app stopped displaying the messages I received, despite previously working without issues.Upon reviewing Settings>System>Notifications, I found duplicated entries for Phone notifications.Is there a method to eliminate these duplicates?Thank you Read More
The WinRAR Archive icon is missing from the context menu.
Hello everyone, I’m having trouble with the archive icon not showing up in the context menu.
This issue is really frustrating me.
I attempted the following solutions:
I installed Revo Uninstaller to try and uninstall WinRAR in hopes of fixing this issue.
I uninstalled WinRAR through the Control Panel.
I managed to hide the WinRAR archive from the context menu, but I would prefer not to do that.
Hello everyone, I’m having trouble with the archive icon not showing up in the context menu. This issue is really frustrating me. I attempted the following solutions:I installed Revo Uninstaller to try and uninstall WinRAR in hopes of fixing this issue.I uninstalled WinRAR through the Control Panel.I managed to hide the WinRAR archive from the context menu, but I would prefer not to do that. Read More
Assistance Needed: Locked Out of System Following Selective Startup Attempt
Attention everyone, I encountered an issue while attempting to access safe mode by selecting a selective startup in msconfig. Upon restarting, I am now completely locked out. The Lock Screen displays an error message stating that my pin is not available. When I try to set up a new pin, I am prompted to search for an app in the store, but nothing happens when I click on it. I am in urgent need of assistance as I am currently locked out of my system. I have already attempted restarting and pressing F8, but to no avail. Your help in resolving this matter would be greatly appreciated.
Attention everyone, I encountered an issue while attempting to access safe mode by selecting a selective startup in msconfig. Upon restarting, I am now completely locked out. The Lock Screen displays an error message stating that my pin is not available. When I try to set up a new pin, I am prompted to search for an app in the store, but nothing happens when I click on it. I am in urgent need of assistance as I am currently locked out of my system. I have already attempted restarting and pressing F8, but to no avail. Your help in resolving this matter would be greatly appreciated. Read More
New Windows 11 Laptop with Adjustable Brightness Levels
Greetings, I have transformed my Toshiba Satellite from Windows 10 to Windows 11, but encountered persistent issues with screen brightness fluctuation. Despite seeking assistance from various sources and exploring recovery options by performing a fresh cloud-based Windows 11 installation that involved wiping the entire hard drive clean and starting afresh, the problem persists. The screen brightness irregularities seem to be linked to one of the amber lights on the laptop’s front panel, acting in unison with these fluctuations. Despite my efforts, I am yet to locate a definitive guide explaining the purpose of these front lights.
I am now contemplating if the erratic screen dimming and brightening could be related to a battery-life feature mistakenly activating when the device is running on external power. Interestingly, these issues cease when the laptop operates solely on battery power.
Greetings, I have transformed my Toshiba Satellite from Windows 10 to Windows 11, but encountered persistent issues with screen brightness fluctuation. Despite seeking assistance from various sources and exploring recovery options by performing a fresh cloud-based Windows 11 installation that involved wiping the entire hard drive clean and starting afresh, the problem persists. The screen brightness irregularities seem to be linked to one of the amber lights on the laptop’s front panel, acting in unison with these fluctuations. Despite my efforts, I am yet to locate a definitive guide explaining the purpose of these front lights. I am now contemplating if the erratic screen dimming and brightening could be related to a battery-life feature mistakenly activating when the device is running on external power. Interestingly, these issues cease when the laptop operates solely on battery power. Read More
Refreshment for my portal.
Hey everyone,
I’m looking to refresh the design of our portal and found this starter kit v3, but I’m worried it might make changes to my current portal.
Initially, I just want to update the homepage, kind of like what’s shown in the package link. But I noticed the project doesn’t respond to questions very often. So, I’m wondering if anyone has worked with it or knows of another project I could use.
Here’s the link to the project:
https://github.com/pnp/sp-starter-kit
Thanks in advance!
Hey everyone, I’m looking to refresh the design of our portal and found this starter kit v3, but I’m worried it might make changes to my current portal. Initially, I just want to update the homepage, kind of like what’s shown in the package link. But I noticed the project doesn’t respond to questions very often. So, I’m wondering if anyone has worked with it or knows of another project I could use. Here’s the link to the project:https://github.com/pnp/sp-starter-kit Thanks in advance! Read More
Delegate access problem
When I attempt to grant delegate access to members of my team I get the following Outlook response:
“The Delegates settings were not saved correctly. Cannot activate free/busy information.” I cannot figure out how to correct this issue so I’m stuck….
When I attempt to grant delegate access to members of my team I get the following Outlook response:”The Delegates settings were not saved correctly. Cannot activate free/busy information.” I cannot figure out how to correct this issue so I’m stuck…. Read More
Linking Data Product asset access to Fabric Access
Hi,
I’ve created a few Data Products which include scanned Metadata from Fabric Objects. Based on Data Product policies, access is granted after review. Is there a way to link read-only access to the objects(Lakehouse tables, Semantic Layer Objects) in Fabric, based on granting access to the Data Product? The way I’ve set it up, only access to the metadata is granted, not the actual objects in Fabric Workspace.
Hi, I’ve created a few Data Products which include scanned Metadata from Fabric Objects. Based on Data Product policies, access is granted after review. Is there a way to link read-only access to the objects(Lakehouse tables, Semantic Layer Objects) in Fabric, based on granting access to the Data Product? The way I’ve set it up, only access to the metadata is granted, not the actual objects in Fabric Workspace. Read More
Photo’s delete from folder after dragging and dropping into chat
Anyone know how I can prevent this? I noticed that after I’ve dragged and dropped photos or files into a Teams chat, the files disappear. Thanks
Anyone know how I can prevent this? I noticed that after I’ve dragged and dropped photos or files into a Teams chat, the files disappear. Thanks Read More
Summarize longer Word documents using Copilot
Hi, Microsoft 365 Insiders,
We’re happy to announce a major update to Copilot’s summarization capabilities in Microsoft Word! You can now summarize documents up to 80,000 words – about 4 times more than previously. This enhancement comes from listening to your feedback, as Summarize this doc is one of the most used Copilot features.
Learn more about this feature from Stéphanie Visser, Product Manager on the Word team: Summarize longer Word documents using Copilot
Thanks!
Perry Sjogren
Microsoft 365 Insider Community Manager
Become a Microsoft 365 Insider and gain exclusive access to new features and help shape the future of Microsoft 365. Join Now: Windows | Mac | iOS | Android
Hi, Microsoft 365 Insiders,
We’re happy to announce a major update to Copilot’s summarization capabilities in Microsoft Word! You can now summarize documents up to 80,000 words – about 4 times more than previously. This enhancement comes from listening to your feedback, as Summarize this doc is one of the most used Copilot features.
Learn more about this feature from Stéphanie Visser, Product Manager on the Word team: Summarize longer Word documents using Copilot
Thanks!
Perry Sjogren
Microsoft 365 Insider Community Manager
Become a Microsoft 365 Insider and gain exclusive access to new features and help shape the future of Microsoft 365. Join Now: Windows | Mac | iOS | Android Read More
Rebind the MS Teams team to a specific SharePoint site
We’ve performed a migration of Slack to MS Teams.
One of the tasks was to perform the migration of multiple channels to one logical team.
The migration process was completed successfully.
However, after migration, we discovered that it is not possible to attach files to one channel in the team (later we found more than one such channel).
The fix was to open the tab “Files” in Teams, then the user was allowed to upload (attach) files.
During the troubleshooting, we found that while the migration process is in progress, and there’s a need to upload files (found in Slack), an associated SharePoint site is created.
In our case, the SharePoint site with the same name (as the team name itself) was created early (probably during our migration tests/dry runs and wasn’t deleted properly) which led to the creation of a SharePoint site with a different naming (as two SharePoint sites with the same naming couldn’t exist) during the real migration.
(examples:
team name = prj-team
existing (early created) ShP site = https://domain.sharepoint.com/sites/prj-team
newly created ShP site (bound to an MS Teams team) = https://domain.sharepoint.com/sites/prj-team956
)
This implies a lot of inconvenience for the users and we’re looking the way to resolve/mitigate it.
We cannot destroy all teams and channels and restart the migration.
The question here – can a team in MS Teams be updated to be bound to another SharePoint site?
Thanks in advance.
Hello, We’ve performed a migration of Slack to MS Teams.One of the tasks was to perform the migration of multiple channels to one logical team.The migration process was completed successfully. However, after migration, we discovered that it is not possible to attach files to one channel in the team (later we found more than one such channel). The fix was to open the tab “Files” in Teams, then the user was allowed to upload (attach) files. During the troubleshooting, we found that while the migration process is in progress, and there’s a need to upload files (found in Slack), an associated SharePoint site is created. In our case, the SharePoint site with the same name (as the team name itself) was created early (probably during our migration tests/dry runs and wasn’t deleted properly) which led to the creation of a SharePoint site with a different naming (as two SharePoint sites with the same naming couldn’t exist) during the real migration. (examples: team name = prj-team existing (early created) ShP site = https://domain.sharepoint.com/sites/prj-team newly created ShP site (bound to an MS Teams team) = https://domain.sharepoint.com/sites/prj-team956 ) This implies a lot of inconvenience for the users and we’re looking the way to resolve/mitigate it.We cannot destroy all teams and channels and restart the migration. The question here – can a team in MS Teams be updated to be bound to another SharePoint site?Thanks in advance. Read More
Tech for Good: MVPs Leading the Charge in Social Innovation
In a world where technology has become a cornerstone of progress, it is the human spirit that continues to drive change and innovation. This article delves into the heartwarming stories of two MVPs, United States AI Platform MVP Carey Payette and Indian Microsoft Azure MVP Navika Chhauda who have channeled their technical prowess into philanthropic endeavors, transforming lives and communities. From the influence of their family to the collaborative efforts of the tech community, these narratives reveal the profound impact that one can make by merging technical skills with a desire to contribute to the greater good. Join us as we explore the motivations and achievements of MVPs Carey and Navika who have turned their technical expertise into a force for positive social change.
MVP Carey Payette
———-
What inspired you to start using your technical skills for philanthropic purposes?
Carey: My inspiration is deeply rooted in my father’s lifelong commitment to the Lion’s Club. His dedication to community service, which I witnessed and participated in throughout my childhood, instilled in me a desire to help others. As I honed my technical skills, I discovered innovative ways to contribute, such as creating computers that serve as assistive devices for those with health conditions or impairments. This fusion of my passion for technology and my upbringing in a service-oriented environment has been incredibly fulfilling, allowing me to positively impact the lives of many. My passion for technology, nurtured in a service-oriented environment, has been a source of immense fulfillment and has enabled me to touch many lives.
Navika: My commitment to the principle “Education is For All” has driven my decade-long community service, empowering the underprivileged and vulnerable with technology education. Amidst the pandemic, as technology became a lifeline, I stepped out of my comfort zone to teach visually impaired students Microsoft 365 tools and Azure, ensuring they remained on equal footing during these challenging times. My efforts reflect a dedication to inclusivity and the transformative power of tech education.
Can you share a specific instance where technology made a significant difference in your community service efforts?
Carey: My participation in GiveCamp events across Michigan and Ohio has been a significant experience. These events are dedicated to providing software solutions to non-profit organizations, and each event can aid between 4 to 10 organizations. The collaborative efforts of developers, UX designers, and project managers during these events have greatly improved the operations of these non-profits.
I was also involved with the Humanitarian Toolbox (HTBox), an organization focused on disaster preparedness and response. The software developed by HTBox has delivered immediate and ongoing benefits, enhancing disaster management initiatives. Similarly, my virtual classes have empowered visually impaired students with essential Office 365 skills, ensuring they are equipped to thrive in a digital world.
Navika: My virtual classes for visually impaired students, held every other evening, focused on Office 365 tools, culminating in their proficiency in PowerPoint, Word, Excel, resume creation, OneDrive, and email. Despite initial challenges, such as adapting a screen reader and providing individualized attention, my determination led to a successful learning experience. Some students even progressed to Azure training, receiving free AZ-900 vouchers from the Microsoft Learn Student Ambassador program. However, registering for the AZ-900 exam required special permission for extended time, a process that took considerable effort to secure. After months of dedicated training and securing special exam accommodations, two of my visually impaired students passed the AZ-900 exam, becoming among the first in India to achieve this feat despite their visual impairments. Concurrently, I began working with acid attack survivors, teaching them Microsoft technology to help them become self-reliant.
What advice would you give to someone who wants to use their tech expertise for social impact but doesn’t know where to start?
Carey: My advice for those looking to use their tech expertise for social impact is to begin by identifying causes that resonate with you, like education or healthcare. These passions will guide you to the right opportunities. I recommend volunteering and researching organizations that match your interests, as many non-profits are in need of technical skills. Getting involved in events like GiveCamp and hackathons is a fantastic way to contribute. Moreover, online platforms such as VolunteerMatch, Idealist, and Catchafire are valuable resources for finding volunteer opportunities that suit your skills. I suggest starting with small tasks, working collaboratively with others to increase your impact, tapping into your professional network, and maintaining a commitment to making a difference, no matter the scale.
Navika: I emphasize the importance of passion and resilience when teaching technical skills to marginalized communities. It’s crucial to build partnerships with local, supportive non-governmental organizations, which can be a strategic way to connect with individuals with special needs through secure, established networks.
———-
As we conclude this exploration of the intersection between technology and philanthropy, we are reminded of the deep capacity for innovation to foster social good. The stories and advice shared here serve as a testament to the power of technical expertise when guided by a compassionate vision. Whether you are a seasoned professional or just starting, the path to making a difference is paved with the willingness to apply your skills where they are most needed. May this article inspire you to embark on your own journey of impact, leveraging technology as a tool for positive change and leaving an indelible mark on the world.
MVP Navika Chhauda
Microsoft Tech Community – Latest Blogs –Read More
Introducing the content pane in SharePoint pages and news
We are excited to share that we are releasing the new content pane in SharePoint pages and news. This feature serves as a convenient hub for various panes that support authors in crafting their publications. This centralized space now features a user-friendly toolbox that enables authors to easily explore and insert content for creating dynamic and captivating pages. Additionally, the content pane incorporates other useful panes like configuration tools and design ideas.
Within Viva Amplify, the content pane hosts more tools such as the distribution channel selection, writing guidance, and audience selection.
Crafting your pages with the content pane
After entering edit mode, you will notice new icons on the right side of the canvas that serve as the navigation for the content pane. The first icon opens a new toolbox, where you can quickly find web parts, images, and section templates.
Tip: You can click-and-drag web parts and images from the toolbox directly onto the canvas!
You can find more items for any of the toolbox categories by selecting See more/all… on the toolbox.
The second icon in the content pane navigation is a new entry point for the properties pane of web parts and sections.
Tip: You’ll notice an updated design of the “Edit properties” button on webpart toolbars. Clicking this button will also open the properties pane for the selected item.
With the introduction of the content pane, we have also redesigned the section tools. To add a section, select the plus button located on the section borders and select which type of section you want to add. All section tools (move, edit, duplicate, and delete) are now in the section toolbar at the top left of a selected section.
To see the content pane in action, watch our video on the Microsoft Community learning channel.
Frequently asked questions
When will this happen?
The feature will start rolling out to Targeted Release customers soon and will continue to roll out to all customers through September.
This message is associated with Microsoft Roadmap ID 124827.
What do you need to prepare?
There is nothing you need to do to prepare, but you can let your users know about this new experience.
What is next?
We are planning to add other panes to the content pane (Design ideas, Page details, etc.)
We are considering user customization, additional content types, and page content driven items in the toolbox.
Thanks for reading. Please enjoy making beautiful pages and let us know any feedback or questions in the comments.
Microsoft Tech Community – Latest Blogs –Read More
Now available: Modernize your SAP environment with Microsoft Entra ID
Building on our joint announcement with SAP earlier this year, we have now released guidance to help customers modernize their SAP environment and move their identity management scenarios from SAP Identity Management (SAP IDM) to Entra ID. With this documentation, SAP IDM customers can migrate seamlessly to the cloud-based IAM and identify the right partners that can assist.
In February, SAP announced that the on-premises tool for managing identity would reach end-of-maintenance by 2030. We are honored that SAP has recommended Microsoft Entra ID, our cloud-based identity and access management solution, to facilitate a seamless migration and ongoing enterprise-wide identity and access management.
We have now published the first round of migration guidance for customers who are using SAP IDM for cloud and on-premises applications like SuccessFactors, SAP ECC, or Windows Server Active Directory on Microsoft Entra blog. Microsoft 365 Enterprise customers can quickly create Conditional Access policies to automatically apply security measures like multifactor authentication (MFA), and increase their administrative efficiency with self-service portals, automated user provisioning and single sign-on (SSO). These features provide a major step toward better security and a less frustrating user experience, as well as a critical foundation for Zero Trust architecture.
To learn more about our three-decade collaboration with SAP and the ways Microsoft can help SAP customers securely move faster and get more done with Azure, click here.
Microsoft Tech Community – Latest Blogs –Read More
Using Microsoft Graph as a Microsoft Copilot for Security Plugin with Delegated Access
Microsoft Graph offers a powerful and flexible way to retrieve data from several Microsoft products. Using well documented REST APIs you can pull data from diverse sources like security incidents, SharePoint documents, emails, Teams chat among several others. All Graph API calls support the OData specification and return data in JSON format. OData URL specification allow REST calls to include select, filter and other clauses all of which give control to the amount of data we want the API response to include.
Microsoft Copilot for Security (Copilot) is a large language model (LLM) based generative Artificial Intelligence (AI) system for cybersecurity use cases. Copilot is not a monolithic system but is an ecosystem running on a platform that allows data requests from multiple sources using a unique plugin mechanism. The plugin mechanism gives Copilot the capability to pull data for any external data source as long as it supports REST API, thus allowing Copilot to make Graph APIs calls.
This article assumes familiarity with Microsoft Graph, Copilot and usage of REST APIs, and is intended as a generic example on calling Graph APIs from Copilot.
Microsoft Graph
Microsoft’s Graph offers a single endpoint (https://graph.microsoft.com), to provide access to rich, data and insights from several sources the Microsoft cloud, including Microsoft 365, Windows, and Enterprise Mobility + Security. If you have not worked with Microsoft Graph API before, the best place to start is its main document page available here.
Like with any other REST API, it is good to use a REST API client (Boomerang, Postman etc.) to experiment and test the API. With Microsoft Graph there is another option called Graph Explorer to evaluate all the APIs. Using Graph Explorer is much faster and convenient than using other REST clients as it handles getting authentication tokens and is also directly linked with the Graph documentation. When you go to Graph Explorer from this link, the main page comes up as shown below:
Once in Graph Explorer, you will be asked to authenticate with your Microsoft tenant credentials. While this is not required to make API calls, it is strongly recommended as after authentication Graph Explorer will retrieve the JAVA Web Token (JWT) for your account which is required as a Bearer token in the header in each Graph API call. JWT will also allow Graph Explorer to retrieve data from your tenant (as compared to generic data shown when not authenticated).
Permissions
Each Graph API call requires that your account (and the JWT) have the required permissions to see the data, more details on Graph permissions are given here. Since Graph Explorer is acting on behalf of the authenticated user, this is termed ‘on behalf of’ authentication with delegated access. The delegated permissions are also called scopes and are contained within the JWT. If you do not have the required permissions, the REST call will return with an ‘Unauthorized’ (HTTP 401) error. For each Graph call, under the ‘Modify permissions’ tab Graph Explorer shows one or more of the permissions needed by the call as shown below:
Depending on your role and permissions assignment in Entra, you can consent to one of the permissions required to make the call. The JWT scope should contain the permissions that allow Graph Explorer or any other application acting on behalf of the user, to successfully retrieve the data required from the call. You can see the content of a JWT and the scope it contains from the jwt.ms website.
Let us define a use case based on which we will decide the Graph APIs to call and then build a Copilot API plugin for it. Before building a Copilot plugin that uses Graph API, make sure you have looked at all the skills present in the several Microsoft () plugins available out-of-the-box in Copilot. New Microsoft plugins and additional skills to existing plugins are constantly being added and this will ensure you are not building a plugin for a functionality that already exists. For our use case we will build a plugin to extract all Alert IDs from an incident and then based on the Alert ID it will allow us to pull the evidence associated with that alert.
Head to Graph Explorer console, authenticate and go to the Security group in the left navigation bar. Selecting the ‘alerts’ option will update the URL in the right pane. If the URL does not point to the new unified Microsoft 365 Alerts and Incident API (ends in ‘alert’ and not ‘alert_v2’), change the URL to end in ‘alert_v2’.
Since it is based on the OData specification, Graph API supports several selection criterion and filter options that narrow the scope of the data being returned. For a Copilot for Security plugin this is very important as use of selection and filters criterion reduces the size of the data being returned by the API allowing Copilot to process it more efficiently. These options are passed as query parameters in the URL and detailed description of supported options are available in the Microsoft Graph documentation here. Note that if the data field your need is not available in the JSON returned from the Graph API call, then it is an advanced use case not covered by this article. In these cases, you will have to modify/massage the data using Logic Apps, Azure Functions or Webservice and then integrate with Copilot.
In our first API call, we will use the $count option that will insert a count field in the output JSON. The $count option is added as query parameter as shown in the screen capture below. Once you press the ‘Run Query’ button Graph Explorer will make the REST API call, the output/response JSON of which is shown in the ‘Response preview’ pane. Note the field ‘@data.count’ that is added by the $count query parameter which shows the number of returned alerts:
Our use case calls for looking at alerts only in a specific incident. Though the returned JSON has a field ‘incidentId’ showing the Incident ID each alert belongs to, there are too many alerts that are not useful. Our goal is to return as minimum data to Copilot as possible, so we will use a Odata filter to narrow down the incident and get alerts assigned to it.
A filter is added using the $filter query parameter and its value is set to ‘incidentId eq ’15’’ that tells Microsoft Graph to only return alerts whose ‘incidentId’ is 15. The output of this call is shown below:
We can see that after adding the filter only 2 alerts are returned. After cross refencing incident 15 in the unified Defender console, the returned information is correct:
Though we have the required alerts, we are still pulling in data fields that are not useful for our use case (we only need alert ids along with their description). To narrow down the fields, we will use the $select query parameter and set its value to ‘id,title’ making the combined URL: https://graph.microsoft.com/v1.0/security/alerts_v2?$filter=incidentID eq ’15’&$count=true&$select=id,title
Making this API request, gives us the exact date we need as show in the ‘Response preview’:
Copilot API Plugin
We are now ready to define the YAML files required to have Copilot make the Graph API call. The main YAML file is given below, for more details on these YAML files and their field refer to this article:
Descriptor:
Name: Defender Specific Alert Details Plugin
DisplayName: Defender Specific Alert Details Plugin
Description: The skills in this plugin will help get Defender alert details via Graph API Call
DescriptionForModel: The skills in this plugin will help get specific defender alert details based on provided incident or alert id.
SupportedAuthTypes:
– AADDelegated
Authorization:
Type: AADDelegated
EntraScopes: https://graph.microsoft.com/.default
SkillGroups:
– Format: API
Settings:
OpenApiSpecUrl: http://<URL for OpenAPI File>/API_Plugin_GraphAPI_Alerts_OAI.yaml
Authentication
Note the value for ‘SupportedAuthTypes’ and ‘Authorization’ defined as ‘AADDelegated’ (Azure Active Directory Delegated). When Authorization is set to ‘AADDelegated’ you tell Copilot to use delegated access (or ‘act on behalf’) of the user who is logged into Copilot, when making the Graph API call. This way Copilot makes it very easy to make Graph API calls, and does not require you having to go to the Microsoft Entra Admin Center and register your application as described here. . For that, we have to use OAuth2 and get an application ID by registering an application and this will be discussed in a follow-on article. Along with ‘AADDelegated’ Copilot supports OAuth2 authentication along with several other listed here:
With the important discussion on authentication out of our way, let us see the second YAML file which is for the OpenAPI specification for our Plugin:
openapi: 3.0.0
info:
title: Defender Specific Alert Details Plugin
description: Skills for getting alert details via Graph API Call
version: “v1”
servers:
– url: https://graph.microsoft.com/v1.0/security
paths:
/alerts_v2?$select=id,title:
get:
operationId: GetAlertIdsFromIncidentId
description: List all alert id’s based on a user provided incident id
ExamplePrompt:
– ‘show me alert ids for the specified incident id’
– ‘Get me all alert ids where incident id is provided’
parameters:
– in: query
name: $filter
schema:
type: string
required: true
description: A filter in the format of “incidentid eq id” where ID is an incident ID provided by the user.
responses:
“200”:
description: OK
content:
application/json:
After placing the OpenAPI definition YAML in an Internet accessible URL, we go to the Copilot console and follow the steps to import the custom plugin:
Once the plugin is imported it will show under the custom plugin area, make sure it has been enabled.
We will now invoke our newly imported plugin’s skill directly to verify that it is able to make a successful call and fetch the data. To invoke a skill directly, click on the prompt icon as shown below:
Select, the ‘See all system capabilities’ link and then search for Alert:
This will show the operationId and Description of the skill. Our plugin has only one skill so far (GetAlertIdsFromIncidentId) so we will select it:
and pass it the value of the filter:
If the call is successful, Copilot will complete all the 3 steps and show the response:
After verification with the earlier call in Graph Explorer the Alerts ids and their descriptions look correct and belong to Incident 15.
You can also invoke a skill directly from the Copilot command window using the ‘/’ command as shown below. This gives the same result as before, confirming that Copilot can successfully make the Graph API call, pass the correct credentials for Delegated access and fetch the data.
Note that if you get a permission denied error, check with your Azure admin if you have the requires roles/permissions to read security related information.
Getting Evidence based on Alert Ids
Now that we have the alerts ids, let us now expand our plugin’s capability to get evidence details about a specific alert. The following Graph API URL: https://graph.microsoft.com/v1.0/security/alerts_v2/{alertid}
will fetch information specific to the ‘alertid’ passed to it. In Graph Explorer, the ‘Response preview’ of this API for alert id ‘fab098dd19-bcbd-61e1-7eb2-08dc96ce5a71’ (part of Incident 15) is shown below:
The call returns a lot of data attributes but as per our use case we are only interested in evidence related data. To only have data related to the evidence information,
https://graph.microsoft.com/v1.0/security/alerts_v2/{alertid}?$select=evidence
The Response preview for the updated URL call is shown below:
Now we need to have this capability added to our plugin. The main YAML file will remain the same but the OpenAPI specification will change to support one more REST API. The updated YAML file is given below:
openapi: 3.0.0
info:
title: Defender Specific Alert Details Plugin
description: Skills for getting alert details via Graph API Call
version: “v1”
servers:
– url: https://graph.microsoft.com/v1.0/security
paths:
/alerts_v2?$select=id,title:
get:
operationId: GetAlertIdsFromIncidentId
description: List all alert id’s based on a user provided incident id
ExamplePrompt:
– ‘show me alert ids for the specified incident id’
– ‘Get me all alert ids where incident id is provided’
parameters:
– in: query
name: $filter
schema:
type: string
required: true
description: A filter in the format of “incidentid eq id” where ID is an incident ID provided by the user.
responses:
“200”:
description: OK
content:
application/json:
# New API added
/alerts_v2/{alertid}?$select=evidence:
get:
operationId: GetEvidenceForSpecificAlert
description: Get all the evidence details of a specific alert id
parameters:
– in: path
name: alertid
schema:
type: string
required: true
description: id of the alert
responses:
“200”:
description: OK
content:
application/json:
Note that that $select query parameter is hard-coded but the alert before it is taken a path input. OpenAPI specifications allow fixed query parameters after variable fields which is nice and helps us here.
After re-importing (delete old plugin and import again) the updated plugin, let us invoke the skill directly as we have done before with the same alert id. First search by the Alert, and now we will see two skills for our plugin:
Select ‘GetEvidenceForSpecificAlert’ and enter the alert id:
Copilot makes a successful call and neatly summaries each of the evidence items:
The evidence API call pulls in several evidence objects, and if you need to see data only in a specific evidence, Copilot will need to be prompted to do the filtering once the data is received from the API call. The following prompt will show details of only the Analyzed Message Evidence:
“Get evidence for specific alert with id fab098dd19-bcbd-61e1-7eb2-08dc96ce5a71 and show the details contained in the Analyzed Message Evidence”:
In this article, we have shown how straightforward it is to build a Copilot for Security plugin that makes Graph API calls. We used Copilot’s ‘AADDelegated’ authentication type which allows us to make Graph API calls with delegated access. In a follow up article, we will look at making Graph API calls from Copilot with OAuth2 authentication.
Microsoft Tech Community – Latest Blogs –Read More
How can I identify and fill outliers in a 2d matrix?
Hello,
I am wondering if there is a function to identify and fill outliers in a 2d matrix. I know that the filloutliers function does work on a matrix, but it only works on each column separately. I am hoping to look at outliers in both directions.
There is a function fillmissing2 that does exactly this, but for missing values rather than outliers. Does anyone know if there is such a function? Or perhaps a workaround?
Thanks in advance,
SeanHello,
I am wondering if there is a function to identify and fill outliers in a 2d matrix. I know that the filloutliers function does work on a matrix, but it only works on each column separately. I am hoping to look at outliers in both directions.
There is a function fillmissing2 that does exactly this, but for missing values rather than outliers. Does anyone know if there is such a function? Or perhaps a workaround?
Thanks in advance,
Sean Hello,
I am wondering if there is a function to identify and fill outliers in a 2d matrix. I know that the filloutliers function does work on a matrix, but it only works on each column separately. I am hoping to look at outliers in both directions.
There is a function fillmissing2 that does exactly this, but for missing values rather than outliers. Does anyone know if there is such a function? Or perhaps a workaround?
Thanks in advance,
Sean filloutliers, matrix, interpolation MATLAB Answers — New Questions